using BlueWater.Interfaces; namespace BlueWater.Players.Tycoons { public class DashState : IStateMachine { 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.IsInteracting()) { character.StateMachineController.TransitionToState(character.InteractionState, character); } else if (!character.TycoonMovement.IsMoving) { character.StateMachineController.TransitionToState(character.IdleState, character); } } public void ExitState(TycoonPlayer character) { } } }