InventoryItemDragHandler
user_3183455
csharp
a year ago
1.6 kB
12
Indexable
using CuongMono.Item.Inventory;
using UnityEngine;
using UnityEngine.EventSystems;
namespace CuongMono.Item
{
public class InventoryItemDragHandler : ItemDragHandler, IPointerClickHandler, IPointerDownHandler
{
[Header("Inventory")]
[SerializeField] protected Inventory.Inventory inventory;
public override void OnPointerClick(PointerEventData eventData)
{
}
private void UpdateUI()
{
this.itemSlotUI?.UpdateUI();
this.cursorHolder?.InventoryItemSlotUI?.UpdateUI();
}
public void OnPointerDown(PointerEventData eventData)
{
if (this.cursorHolder.InventoryItemSlotUI.ItemSlot.Item == null &&
this.inventory.itemContainer.itemSlots[this.SlotIndex].Item == null) return;
if (eventData.button == PointerEventData.InputButton.Left)
{
this.cursorHolder.InventoryItemSlotUI.ItemSlot =
(InventoryItemSlot)this.inventory.itemContainer.SwapItemLeftClick(this.cursorHolder.InventoryItemSlotUI.ItemSlot,
this.SlotIndex);
this.UpdateUI();
}else if (eventData.button == PointerEventData.InputButton.Right)
{
this.cursorHolder.InventoryItemSlotUI.ItemSlot =
(InventoryItemSlot)this.inventory.itemContainer.SwapItemRightClick(this.cursorHolder.InventoryItemSlotUI.ItemSlot,
this.SlotIndex);
this.UpdateUI();
}
}
}
}Editor is loading...
Leave a Comment