Ejemplo n.º 1
0
    protected override void PerformTransition(StateMachine machine)
    {
        HandleMovement();

        if (playerAttack.CanAttack() && attackKeyPressed)
        {
            machine.ToMovementState(machine.AttackState);
        }

        if (JumpKeyPressed && playerMovement.Grounded)
        {
            machine.ToMovementState(machine.JumpState);
        }
        else if (!playerMovement.Grounded)
        {
            machine.ToMovementState(machine.FallState);
        }

        if (DashKeyPressed)
        {
            var dash = playerMovement.GetComponent <Dash>();

            if (!dash.OnCooldDown())
            {
                machine.ToMovementState(machine.DashState);
            }
            else
            {
                DashKeyPressed = false;
            }
        }

        Blink();
    }