Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / activity / role / player / state / PlayerIdleState.cs
  1.  
  2. using Godot;
  3.  
  4. /// <summary>
  5. /// 空闲状态
  6. /// </summary>
  7. public class PlayerIdleState : StateBase<Player, PlayerStateEnum>
  8. {
  9. public PlayerIdleState() : base(PlayerStateEnum.Idle)
  10. {
  11. }
  12.  
  13. public override void Enter(PlayerStateEnum prev, params object[] args)
  14. {
  15. Master.HandleMoveInput((float)Master.GetProcessDeltaTime());
  16. Master.AnimatedSprite.Play(AnimatorNames.Idle);
  17. }
  18.  
  19. public override void Process(float delta)
  20. {
  21. var dir = InputManager.MoveAxis;
  22. if (dir != Vector2.Zero)
  23. {
  24. if (InputManager.Roll && Master.CanRoll) //按下翻滚
  25. {
  26. ChangeState(PlayerStateEnum.Roll);
  27. }
  28. else //移动
  29. {
  30. ChangeState(PlayerStateEnum.Move);
  31. }
  32. }
  33. else
  34. {
  35. Master.HandleMoveInput(delta);
  36. }
  37. }
  38. }