Newer
Older
DungeonShooting / DungeonShooting_Godot / src / game / activity / role / player / state / PlayerIdleState.cs
@小李xl 小李xl on 11 Sep 2023 879 bytes 添加翻滚动作

using Godot;

/// <summary>
/// 空闲状态
/// </summary>
public class PlayerIdleState : StateBase<Player, PlayerStateEnum>
{
    public PlayerIdleState() : base(PlayerStateEnum.Idle)
    {
    }

    public override void Enter(PlayerStateEnum prev, params object[] args)
    {
        Master.HandleMoveInput((float)Master.GetProcessDeltaTime());
        Master.AnimatedSprite.Play(AnimatorNames.Idle);
    }

    public override void Process(float delta)
    {
        var dir = InputManager.MoveAxis;
        if (dir != Vector2.Zero)
        {
            if (InputManager.Roll) //按下翻滚
            {
                ChangeState(PlayerStateEnum.Roll);
            }
            else //移动
            {
                ChangeState(PlayerStateEnum.Move);
            }
        }
        else
        {
            Master.HandleMoveInput(delta);
        }
    }
}