示例#1
0
    public override void StateFixedUpdate(Player player)
    {
        if (!Charge.InputCheckFunc())
        {
            Charge.InputReleased = true;
        }
        else
        {
            Charge.ChargeFraction = ScaledCurrentFrame / Duration;
            Charge.ChangePlayerChargeColor(player);

            currentState.StateFixedUpdate(player);

            if (changeAttackDirection && InputBuffer.Instance.CompareAxisBuffered(player.InputGenerator, "Vertical", axis => axis < -0.5f, DownAttackBuffer))
            {
                player.DownAttack();
                //unscaledCurrentFrame + 1 to account for the fact that the value of unscaledCurrentFrame is incremented
                //after StateFixedUpdate is called
                player.State.Advance(player, numFrames: (unscaledCurrentFrame + 1));
            }
        }
    }