public void ActivateAbility(Tile tile, FactionAbility ability) { ability.Use(); FactionManager.GetCurrentFaction().abilityInfo.energy -= ability.GetCost(); //CastAbility(ability, tile); ApplyAbilityEffect(tile, ability, (int)ability.type); }
public FactionAbility GetAbilityFromCurrentFaction(int index) { FactionAbilityInfo abilityInfo = FactionManager.GetCurrentFaction().abilityInfo; if (index < abilityInfo.abilityList.Count) { return(abilityInfo.abilityList[index]); } return(null); }
public void _OnNewTurn(bool flag) { if (!flag) { return; } abilityList = FactionManager.GetCurrentFaction().abilityInfo.abilityList; if (abilityList.Count == 0) { return; } for (int i = 0; i < buttonList.Count; i++) { if (i >= abilityList.Count) { buttonList[i].SetActive(false); } else { buttonList[i].imgIcon.sprite = abilityList[i].icon; buttonList[i].label.text = abilityList[i].GetUseRemain() > 0 ? abilityList[i].GetUseRemain().ToString() : "∞"; buttonList[i].button.interactable = (abilityList[i].IsAvailable() == ""); buttonList[i].SetActive(true); } } if (abilityList.Count == 0) { lineRectT.sizeDelta = new Vector2(0, lineRectT.sizeDelta.y); } else { lineRectT.sizeDelta = new Vector2(20 + abilityList.Count * 60, lineRectT.sizeDelta.y); } UpdateEnergyDisplay(); _Show(); }