using TMPro; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; using DG.Tweening; public class EquipmentItemEvents : Selectable, IPointerDownHandler, IPointerUpHandler, IDragHandler, IPointerExitHandler { private int slotId; Vector3 original; protected override void Start() { base.Start(); original = gameObject.transform.position; slotId = int.Parse(gameObject.name.Substring(15)); } public override void OnSelect(BaseEventData eventData) { base.OnSelect(eventData); } public override void OnDeselect(BaseEventData eventData) { base.OnDeselect(eventData); OnExit(); } public override void OnPointerEnter(PointerEventData eventData) { base.OnPointerEnter(eventData); transform.DOScale(Vector3.one * 1.15f, 0.1f).SetEase(Ease.InSine).SetUpdate(true); } public override void OnPointerExit(PointerEventData eventData) { base.OnPointerExit(eventData); OnExit(); } private void OnExit() { if (EventSystem.current.currentSelectedGameObject != null) EventSystem.current.SetSelectedGameObject(null); transform.DOScale(Vector3.one, 0.1f).SetEase(Ease.OutSine).SetUpdate(true); } public override void OnPointerDown(PointerEventData eventData) { base.OnPointerDown(eventData); OnClick(); } public void OnClick() { if (InventoryManager.Instance.equipmentItems[slotId] == -1) return; //Debug.Log(this.gameObject.name + " Was Clicked."); gameObject.GetComponent().color = new Color(0.8f, 0.8f, 0.8f); } public override void OnPointerUp(PointerEventData eventData) { base.OnPointerUp(eventData); OnClickUp(); } public void OnClickUp() { if (InventoryManager.Instance.equipmentItems[slotId] == -1) return; gameObject.GetComponent().color = Color.white; if (Vector3.Distance(transform.position, original) > 3) { } else { if (InventoryManager.Instance.equipmentItems[slotId] != -1) { PacketManager.sendUnequipItem(slotId); } } gameObject.transform.position = original; } public void OnDrag(PointerEventData eventData) { //if (InventoryManager.Instance.inventoryItems[slotId] == -1) // return; //transform.position += (Vector3)eventData.delta; } }