MarisaMagicalStudy/Assets/Scripts/Abilities/Upgrades/UpgradeBoxUI.cs
2026-03-03 09:16:19 -08:00

32 lines
1 KiB
C#

using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class UpgradeBoxUI : MonoBehaviour, IDropHandler
{
[SerializeField] private TextMeshProUGUI counterUI;
public Image upgradeImage;
public AbilityUpgrade thisAbilityUpgrade;
public PlayerAbility thisPlayerAbility;
public void UpdateCounter()
{
if (!thisAbilityUpgrade)
{
counterUI.gameObject.SetActive(false);
return;
}
counterUI.gameObject.SetActive(true);
counterUI.text = $"x{thisPlayerAbility.attachedUpgrades[thisAbilityUpgrade]}";
}
public void OnDrop(PointerEventData eventData)
{
if (eventData.pointerDrag.TryGetComponent(out StoredAbilityUpgradeUI isStoredUpgrade) && (!thisAbilityUpgrade || isStoredUpgrade.storedUpgrade == thisAbilityUpgrade))
{
thisAbilityUpgrade = isStoredUpgrade.storedUpgrade;
AbilityManager.instance.AddUpgrade(thisAbilityUpgrade, thisPlayerAbility);
UpdateCounter();
}
}
}