public Ability_Overlay(ability_override q_override = null, ability_override w_override = null, ability_override e_override = null, ability_override r_override = null) { overrides[(int)Slot.q] = q_override; overrides[(int)Slot.w] = w_override; overrides[(int)Slot.e] = e_override; overrides[(int)Slot.r] = r_override; }
bool get_ability_result(ability_override call) { Tuple<bool, Ability_Overlay> result = call(); bool triggerd = result.First; Ability_Overlay new_overlay = result.Second; if (triggerd) { if (new_overlay != null) { //Debug.Log("Pushing ability overlay"); ability_overlay.Push(new_overlay); } else { //Debug.Log("Popping ability overlay"); if (ability_overlay.Count > 0) ability_overlay.Pop(); } } return triggerd; }