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; //} }
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; } } } }