Example #1
0
            public void TrigerAbility(GridObject target, AbilitesCode ability, Action onEndAttack)
            {
                Action newOnAttackEnd = () => {
                    onEndAttack();
                    character.AttackDone();
                };

                character.StartAttack();
                int index = (int)ability;

                activeAbilities[index].TrigerAbility(target, newOnAttackEnd);
                character.DecreaseActionPointsThisRound(activeAbilities[index].actionPointsCost);
            }
Example #2
0
            public void EquipAbility <T>(AbilitesCode code = AbilitesCode.A) where T : AbilityBase
            {
                // if(character.GetComponent<T>() != null)
                //    Debug.Log("wttf");
                T ability = gameObject.AddComponent <T>();

                ability.Init(this);
                if (ability.type == AbilityType.active)
                {
                    activeAbilities[(int)code] = ability;
                }
                else if (ability.type == AbilityType.pasive)
                {
                    pasiveAbilites[(int)code] = ability;
                }
            }
Example #3
0
 void SetAbility(Action action, AbilitesCode code)
 {
     actionToTakeOnMouseClik = action;
     playerAbilitiesSystem.VisualizeAbility(grid.GetGridObject(mousePos), code);
 }
Example #4
0
            public void VisualizeAbility(GridObject target, AbilitesCode ability)
            {
                int index = (int)ability;

                activeAbilities[index].VisualizeAbility(target);
            }