public int EquipAbility(int slot, PlayerAbility ability) { // Equip and set up the new ability abilities[slot].abil = ability; abilities[slot].abil.SetPlayer(gameObject); abilities[slot].abil.Initialize(); abilities[slot].onCooldown = false; abilities[slot].cooldownTime = abilities[slot].abil.GetCooldown(); abilities[slot].exclusiveUse = abilities[slot].abil.GetExclusiveUse(); return(ability.GetCost()); // Return the cost of the added ability }
private void SetUpAbilityButton(int b, PlayerAbility abil) { abilityButtons[b].transform.Find("Text").gameObject.GetComponent <Text>().text = abil.GetAbilityName(); abilityButtons[b].transform.Find("CostText").gameObject.GetComponent <Text>().text = abil.GetCost() + " AP"; abilityButtons[b].GetComponent <Button>().interactable = true; abilityButtons[b].GetComponent <Button>().onClick.AddListener(() => { SetSelectedAbility(b); }); abilityButtons[b].GetComponent <AbilityButton>().onSelectEvent.AddListener(() => { ScrollToSelectedAbilityButton(b); }); }