2024-10-14 11:13:08 +00:00
|
|
|
using BlueWater.Interfaces;
|
|
|
|
|
|
|
|
namespace BlueWater.Players.Tycoons
|
|
|
|
{
|
2024-10-22 12:41:31 +00:00
|
|
|
public class ServingIdleStateMachine : IStateMachine<TycoonPlayer>
|
2024-10-14 11:13:08 +00:00
|
|
|
{
|
|
|
|
public void EnterState(TycoonPlayer character)
|
|
|
|
{
|
|
|
|
character.SpineController.PlayAnimation(TycoonPlayerSpineAnimation.ServingIdle, true);
|
|
|
|
}
|
|
|
|
|
|
|
|
public void UpdateState(TycoonPlayer character)
|
|
|
|
{
|
|
|
|
if (character.TycoonMovement.IsMoving)
|
|
|
|
{
|
|
|
|
character.TransitionToState(character.TycoonPickupHandler.IsPickedUpCocktail()
|
2024-10-22 12:41:31 +00:00
|
|
|
? character.ServingStateMachine
|
|
|
|
: character.WalkingStateMachine);
|
2024-10-14 11:13:08 +00:00
|
|
|
}
|
|
|
|
else if (character.IsMakingCocktail)
|
|
|
|
{
|
2024-10-22 12:41:31 +00:00
|
|
|
character.TransitionToState(character.MakingCocktailStateMachine);
|
2024-10-14 11:13:08 +00:00
|
|
|
}
|
|
|
|
else if (character.IsCleaningFloor)
|
|
|
|
{
|
2024-10-22 12:41:31 +00:00
|
|
|
character.TransitionToState(character.CleaningFloorStateMachine);
|
2024-10-14 11:13:08 +00:00
|
|
|
}
|
|
|
|
else if (character.IsCleaningTable)
|
|
|
|
{
|
2024-10-22 12:41:31 +00:00
|
|
|
character.TransitionToState(character.CleaningTableStateMachine);
|
2024-10-14 11:13:08 +00:00
|
|
|
}
|
|
|
|
else if (!character.TycoonMovement.IsMoving)
|
|
|
|
{
|
|
|
|
if (!character.TycoonPickupHandler.IsPickedUpCocktail())
|
|
|
|
{
|
2024-10-22 12:41:31 +00:00
|
|
|
character.TransitionToState(character.IdleStateMachine);
|
2024-10-14 11:13:08 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public void ExitState(TycoonPlayer character)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|