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); }
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; } }
void SetAbility(Action action, AbilitesCode code) { actionToTakeOnMouseClik = action; playerAbilitiesSystem.VisualizeAbility(grid.GetGridObject(mousePos), code); }
public void VisualizeAbility(GridObject target, AbilitesCode ability) { int index = (int)ability; activeAbilities[index].VisualizeAbility(target); }