CapersProject/Assets/02.Scripts/Character/Player/Tycoon/State/WalkingState.cs

37 lines
1.3 KiB
C#
Raw Normal View History

2024-10-14 11:13:08 +00:00
using BlueWater.Interfaces;
namespace BlueWater.Players.Tycoons
{
2024-11-04 12:22:07 +00:00
public class WalkingState : IStateMachine<TycoonPlayer>
2024-10-14 11:13:08 +00:00
{
2024-11-17 04:29:57 +00:00
private bool _previousIsPickedUpAnything;
2024-10-14 11:13:08 +00:00
public void EnterState(TycoonPlayer character)
{
2024-11-17 04:29:57 +00:00
_previousIsPickedUpAnything = character.TycoonPickupHandler.IsPickedUpAnything();
character.SpineController.PlayAnimation(_previousIsPickedUpAnything ? TycoonPlayerSpineAnimation.Serving : TycoonPlayerSpineAnimation.Walking, true);
2024-10-14 11:13:08 +00:00
}
public void UpdateState(TycoonPlayer character)
{
2024-11-17 04:29:57 +00:00
if (character.TycoonPickupHandler.IsPickedUpAnything() != _previousIsPickedUpAnything)
2024-10-14 11:13:08 +00:00
{
2024-11-17 04:29:57 +00:00
EnterState(character);
2024-10-14 11:13:08 +00:00
}
2024-11-17 04:29:57 +00:00
else if (character.IsMakingCocktail || character.IsCleaningFloor || character.IsCleaningTable || character.IsPumping)
2024-10-14 11:13:08 +00:00
{
2024-11-17 04:29:57 +00:00
character.StateMachineController.TransitionToState(character.InteractionState, character);
2024-10-14 11:13:08 +00:00
}
else if (!character.TycoonMovement.IsMoving)
{
2024-11-17 04:29:57 +00:00
character.StateMachineController.TransitionToState(character.IdleState, character);
2024-10-14 11:13:08 +00:00
}
}
public void ExitState(TycoonPlayer character)
{
}
}
}