/// <summary> /// [EXTENSION] - Call updateDisplayedPosition for the character /// </summary> /// <param name="character">The character</param> public void selectCharacter(CombatCharacterFactory.CombatCharacterPresets character) { currentCharacter = character; characterNameText.GetComponent <Text> ().text = CombatCharacterFactory.GetCharacterName(character); healthText.GetComponent <Text> ().text = "Health: " + CombatCharacterFactory.GetCharacterMaxhealth(character).ToString(); energyText.GetComponent <Text> ().text = "Energy: " + CombatCharacterFactory.GetCharacterMaxEnergy(character).ToString(); updateDisplayedPosition(character); if (abilityTextObjects != null) { foreach (GameObject o in abilityTextObjects) { Destroy(o); } } if (costTextObjects != null) { foreach (GameObject o in costTextObjects) { Destroy(o); } } abilityTextObjects = new List <GameObject> (); costTextObjects = new List <GameObject> (); float abilityOffset = 0f; foreach (CombatAbility ability in CombatCharacterFactory.GetCharacterAbilities(character)) { GameObject abilityText = Instantiate(abilityTextPattern, this.transform); GameObject costText = Instantiate(costTextPattern, this.transform); abilityTextObjects.Add(abilityText); costTextObjects.Add(costText); abilityText.SetActive(true); costText.SetActive(true); abilityText.GetComponent <Text> ().text = ability.abilityName; costText.GetComponent <Text> ().text = ability.energyCost.ToString() + " energy"; ((RectTransform)abilityText.transform).anchorMin -= new Vector2(0, abilityOffset); ((RectTransform)abilityText.transform).anchorMax -= new Vector2(0, abilityOffset); ((RectTransform)costText.transform).anchorMin -= new Vector2(0, abilityOffset); ((RectTransform)costText.transform).anchorMax -= new Vector2(0, abilityOffset); abilityOffset += 0.05f; } }