CapersProject/Assets/02.Scripts/Character/Player/Tycoon/State/DashState.cs
2024-11-17 23:21:16 +09:00

38 lines
1.3 KiB
C#

using BlueWater.Interfaces;
namespace BlueWater.Players.Tycoons
{
public class DashState : IStateMachine<TycoonPlayer>
{
public void EnterState(TycoonPlayer character)
{
var dashSpeed = character.TycoonMovement.DashTime;
character.SpineController.PlayAnimationDuration(TycoonPlayerSpineAnimation.Dash, false, dashSpeed);
}
public void UpdateState(TycoonPlayer character)
{
if (character.TycoonMovement.IsDashing) return;
if (character.TycoonMovement.IsMoving)
{
character.StateMachineController.TransitionToState(character.WalkingState, character);
}
else if (character.IsMakingCocktail || character.IsCleaningFloor || character.IsCleaningTable || character.IsPumping ||
character.IsInteractedSlimeGarnish || character.IsInteractedLimeTreeGarnish)
{
character.StateMachineController.TransitionToState(character.InteractionState, character);
}
else if (!character.TycoonMovement.IsMoving)
{
character.StateMachineController.TransitionToState(character.IdleState, character);
}
}
public void ExitState(TycoonPlayer character)
{
}
}
}