123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using System.Collections;
- using System.Collections.Generic;
- using Unity.VisualScripting;
- using UnityEngine;
- using UnityEngine.EventSystems;
- using UnityEngine.UI;
- public class ItemInventory : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler, IPointerClickHandler
- {
- public item item;
- [HideInInspector]
- public Transform parentAfterDrag;
- public Image image;
- InventoryManager inventoryManager = new InventoryManager();
-
- public void Set(item newItem, InventoryManager man)
- {
- inventoryManager = man;
- Debug.Log("Setting new item to this slot " + newItem.type, gameObject);
- item = newItem;
- image.sprite = newItem.image;
- }
- public void Clear()
- {
- // UnityEditor.EditorApplication.delayCall += () =>
- // {
- // DestroyImmediate(gameObject);
- // };
- }
- public void Drop()
- {
- inventoryManager.
- DropItem(item);
- Destroy(gameObject);
- }
- public void OnBeginDrag(PointerEventData eventData)
- {
- image.raycastTarget = false;
- parentAfterDrag = transform.parent;
- transform.SetParent(transform.parent.parent.parent.parent);
- }
- public void OnDrag(PointerEventData eventData)
- {
- transform.position = eventData.position;
- }
- public void OnEndDrag(PointerEventData eventData)
- {
- Debug.Log("Dropping into " + parentAfterDrag.name, parentAfterDrag.gameObject);
- if(parentAfterDrag == transform.parent)
- {
- Destroy(gameObject);
- }
- image.raycastTarget = true;
- transform.SetParent(parentAfterDrag);
- }
- public void OnPointerClick(PointerEventData eventData)
- {
- //inventoryManager.SelectItem(item);
- if (item.isUsable == false)return;
- if (inventoryManager.UseItem(item))
- {
- Destroy(gameObject);
- }
- }
- }
|