2024-11-04 12:22:07 +00:00
|
|
|
using BlueWater.Interfaces;
|
|
|
|
|
|
|
|
namespace BlueWater.Players.Tycoons
|
|
|
|
{
|
|
|
|
public class DashState : IStateMachine<TycoonPlayer>
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
2024-11-17 04:29:57 +00:00
|
|
|
character.StateMachineController.TransitionToState(character.WalkingState, character);
|
2024-11-04 12:22:07 +00:00
|
|
|
}
|
2024-11-17 14:21:16 +00:00
|
|
|
else if (character.IsMakingCocktail || character.IsCleaningFloor || character.IsCleaningTable || character.IsPumping ||
|
|
|
|
character.IsInteractedSlimeGarnish || character.IsInteractedLimeTreeGarnish)
|
2024-11-04 12:22:07 +00:00
|
|
|
{
|
2024-11-17 04:29:57 +00:00
|
|
|
character.StateMachineController.TransitionToState(character.InteractionState, character);
|
2024-11-04 12:22:07 +00:00
|
|
|
}
|
|
|
|
else if (!character.TycoonMovement.IsMoving)
|
|
|
|
{
|
2024-11-17 04:29:57 +00:00
|
|
|
character.StateMachineController.TransitionToState(character.IdleState, character);
|
2024-11-04 12:22:07 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public void ExitState(TycoonPlayer character)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|