コード例 #1
0
    protected override void Action(InputSource input)
    {
        if (input.GetButton(jumpBinding))
        {
            //rigid.AddForce(transform.up * currentJumpStrength, ForceMode.VelocityChange);
            currentJumpStrength -= jumpFalloff;
            if (currentJumpStrength < 0f)
            {
                currentJumpStrength = 0;
            }
        }
        else
        {
            if (grounded)
            {
                currentJumpStrength = jumpStrength;
            }
        }

        //if(input.GetButton(jumpBinding) && grounded)
        //{
        //    rigid.AddForce(transform.up * jumpStrength);
        //    jumping = true;
        //}
    }
コード例 #2
0
    protected override void FixedAction(InputSource input)
    {
        base.Action(input);
        BaseAbility.AbilityParameters param = new BaseAbility.AbilityParameters()
        {
            origin = transform
        };
        foreach (AbilityContainer container in availableAbilities)
        {
            if (container.fixedUpdate && !CheckMuted(container.controlName))
            {
                switch (container.controlType)
                {
                case AbilityContainer.Type.Axis:
                    param.heldDirection = input.GetAxis(container.controlName);
                    container.ability.Execute(param);
                    break;

                case AbilityContainer.Type.Button:
                    param.heldDirection = input.GetAxis(directionInput);
                    param.heldButton    = input.GetButton(container.controlName);
                    container.ability.Execute(param);
                    break;
                }
            }
        }
    }