Example #1
0
    private List <AbilityActivationData> ActivateAbilities(CharacterObject character, List <EPlayerAction> actions)
    {
        List <AbilityActivationData> actionsExecuted = new List <AbilityActivationData>();

        foreach (EPlayerAction action in actions)
        {
            int index = 0;
            switch (action)
            {
            case EPlayerAction.ACTIVATE_ABILITY_0:
                index = 0;
                break;

            case EPlayerAction.ACTIVATE_ABILITY_1:
                index = 1;
                break;

            case EPlayerAction.ACTIVATE_ABILITY_2:
                index = 2;
                break;

            case EPlayerAction.ACTIVATE_ABILITY_3:
                index = 3;
                break;

            case EPlayerAction.ACTIVATE_ABILITY_4:
                index = 4;
                break;

            case EPlayerAction.ACTIVATE_ABILITY_5:
                index = 5;
                break;

            default:
                break;
            }

            bool actionExecuted = character.ActivateAbility(index);

            if (actionExecuted)
            {
                System.Numerics.Vector2 attackPoint = new System.Numerics.Vector2(character.attackPoint.x, character.attackPoint.y);
                System.Numerics.Vector2 direction   = new System.Numerics.Vector2(character.GetAttackDirection().x, character.GetAttackDirection().y);
                actionsExecuted.Add(new AbilityActivationData(index, attackPoint, direction));
            }
        }

        return(actionsExecuted);
    }