using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class AbilityUIObject : MonoBehaviour { [Header("Ability Identification")] [SerializeField] private Image abilityIcon; [SerializeField] private TextMeshProUGUI abilityName; [Header("Ability Stats")] [SerializeField] private TextMeshProUGUI damage; [SerializeField] private TextMeshProUGUI fireRate; [SerializeField] private TextMeshProUGUI piercing; [SerializeField] private TextMeshProUGUI projectileCount; [Header("Upgrades")] [SerializeField] private List upgradeBoxes = new(); public void UpdateUI(PlayerAbility ability) { abilityIcon.sprite = ability.abilityIcon; abilityName.text = ability.abilityName; damage.text = $"Damage: {ability.power}"; fireRate.text = $"Fire rate: {ability.cooldown}s"; if (ability.TryGetComponent(out FireBullet isBullet)) { piercing.text = $"Piercing: {isBullet.pierceAmount}"; projectileCount.text = $"Projectiles: {isBullet.projectileCount}"; } } }