CapersProject/Assets/02.Scripts/Character/Npc/Crew/Server/State/IdleState.cs

34 lines
1.1 KiB
C#
Raw Normal View History

2024-10-22 12:41:31 +00:00
using BlueWater.Interfaces;
namespace BlueWater.Npcs.Crews.Server
{
public class IdleState : IStateMachine<ServerCrew>
{
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)
{
}
}
}