MarisaMagicalStudy/Assets/Scripts/StoredAbilityUpgradeUI.cs
2026-02-26 07:48:50 -08:00

45 lines
1.2 KiB
C#

using System;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class StoredAbilityUpgradeUI : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler
{
[SerializeField] private Image icon;
[SerializeField] private TextMeshProUGUI nameUI;
[SerializeField] private TextMeshProUGUI countUI;
public AbilityUpgrade storedUpgrade;
[HideInInspector] public Transform parentAfterDrag;
public void SetUpgrade(AbilityUpgrade upgrade, int count)
{
//icon.sprite = upgrade.upgradeIcon;
storedUpgrade = upgrade;
nameUI.text = upgrade.name;
countUI.text = $"x{count}";
}
public void OnBeginDrag(PointerEventData eventData)
{
parentAfterDrag = transform.parent;
icon.raycastTarget = false;
icon.transform.SetParent(transform.root);
icon.transform.SetAsLastSibling();
}
public void OnDrag(PointerEventData eventData)
{
icon.transform.position = Input.mousePosition;
}
public void OnEndDrag(PointerEventData eventData)
{
icon.raycastTarget = true;
icon.transform.SetParent(parentAfterDrag);
}
private void OnDestroy()
{
Destroy(icon.gameObject);
}
}