MarisaMagicalStudy/Assets/Scripts/AbilityUIObject.cs
2026-02-02 22:30:39 -08:00

31 lines
1.1 KiB
C#

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<Transform> 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}";
}
}
}