using System; using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; /// <summary> /// Handles visual instancing of the Skill GUI Helper /// </summary> public class SkillGUI : MonoBehaviour { [SerializeField] private Image skillSpriteField; [SerializeField] private TextMeshProUGUI skillNameField; [SerializeField] private TextMeshProUGUI skillCostField; [SerializeField] private TextMeshProUGUI skillDescriptionField; [SerializeField] private TextMeshProUGUI requirementFields; public void InjectData(SkillSO skillData) { skillSpriteField.sprite = skillData.SkillSprite; skillNameField.text = skillData.SkillName; string pointText = skillData.SkillPointCost is 1 ? "Point" : "Points"; skillCostField.text = $"Cost\n{skillData.SkillPointCost} {pointText}"; skillDescriptionField.text = skillData.SkillDescription; requirementFields.text = "Requirements\n"; for (int i = 0; i < skillData.RequiredSkills.Count; ++i) { if (i == skillData.RequiredSkills.Count - 1) requirementFields.text += $"- {skillData.RequiredSkills[i].SkillName}"; else requirementFields.text += $"- {skillData.RequiredSkills[i].SkillName}\n"; } } }