Пример #1
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;
                }
            }
        }
    }
Пример #2
0
    bool CheckMuted(string controlName)
    {
        BaseAbility.AbilityParameters param = new BaseAbility.AbilityParameters()
        {
            origin = transform
        };
        foreach (AbilityContainer container in availableAbilities)
        {
            if (container.ability.isRunning && container.mutedAbilities.Contains(controlName))
            {
                switch (container.controlType)
                {
                case AbilityContainer.Type.Axis:
                    param.heldDirection = Vector3.zero;
                    container.ability.Execute(param);
                    break;

                case AbilityContainer.Type.Button:
                    param.heldDirection = Vector3.zero;
                    param.heldButton    = false;
                    container.ability.Execute(param);
                    break;
                }
                return(true);
            }
        }
        return(false);
    }
Пример #3
0
 void Update()
 {
     foreach (AbilityContainer container in availableAbilities)
     {
         BaseAbility.AbilityParameters param = new BaseAbility.AbilityParameters()
         {
             origin = transform
         };
         container.ability.UpdateAbility(param);
     }
 }