using BlueWater.Interfaces; namespace BlueWater.Npcs.Crews.Server { public class IdleState : IStateMachine { private bool _previousIsServing; public virtual void EnterState(ServerCrew character) { _previousIsServing = character.IsServing; character.SpineController.PlayAnimation(_previousIsServing ? CrewSpineAnimation.ServingIdle : CrewSpineAnimation.Idle, true); } public virtual void UpdateState(ServerCrew character) { if (character.IsMoving) { character.StateMachineController.TransitionToState(character.WalkingState, character); } if (character.IsServing == _previousIsServing) return; _previousIsServing = character.IsServing; character.SpineController.PlayAnimation(_previousIsServing ? CrewSpineAnimation.ServingIdle : CrewSpineAnimation.Idle, true); } public virtual void ExitState(ServerCrew character) { } } }