using UnityEngine; using UnityEngine.EventSystems; public class ItemSlot : MonoBehaviour, IDropHandler { [SerializeField] private NPC_Drop_Manager dropManager; [SerializeField] private string acceptedItemID; public enum SlotType { PatientLog, TreatCanvas } [SerializeField] private SlotType slotType; public void OnDrop(PointerEventData eventData) { var draggableItem = eventData.pointerDrag?.GetComponent<DraggableItem>(); if (draggableItem == null) return; if (draggableItem.itemID == acceptedItemID) { draggableItem.GetComponent<RectTransform>().position = GetComponent<RectTransform>().position; HandleCorrectDrop(); } else { draggableItem.ResetPosition(); } } private void HandleCorrectDrop() { switch (slotType) { case SlotType.PatientLog: dropManager.RegisterWords(); break; case SlotType.TreatCanvas: dropManager.RegisterPills(); break; } } }