public void OnDragEnd(GameObject obj) { imBeeingDragged = false; if (slotsOnInterface[obj].item.Id >= 0) { Destroy(MouseData.tempItemBeingDragged); if (MouseData.interfaceMouseIsOver == null) { if (mouseButtonUsed == 0) { Vector3 mpos = Camera.main.ScreenToWorldPoint(Input.mousePosition); mpos.z = 0; GameObject o = Instantiate(itemGem, mpos, Quaternion.identity); o.GetComponent <GroundItem>().item = slotsOnInterface[obj].ItemObject; o.GetComponent <GroundItem>().amount = slotsOnInterface[obj].amount; o.GetComponentInChildren <SpriteRenderer>().sprite = slotsOnInterface[obj].ItemObject.uiDisplay; slotsOnInterface[obj].RemoveItem(); return; } else if (mouseButtonUsed == 1) { Vector3 mpos = Camera.main.ScreenToWorldPoint(Input.mousePosition); mpos.z = 0; GameObject o = Instantiate(itemGem, mpos, Quaternion.identity); o.GetComponent <GroundItem>().item = slotsOnInterface[obj].ItemObject; o.GetComponent <GroundItem>().amount = 1; o.GetComponentInChildren <SpriteRenderer>().sprite = slotsOnInterface[obj].ItemObject.uiDisplay; inventory.RemoveAmountOfItem(slotsOnInterface[obj], 1); return; } } if (MouseData.slotHoveredOver) { InventorySlot mouseHoverSlotData = MouseData.interfaceMouseIsOver.slotsOnInterface[MouseData.slotHoveredOver]; if (mouseButtonUsed == 0) { if (slotsOnInterface[obj] != mouseHoverSlotData) { if (slotsOnInterface[obj].item.Id == mouseHoverSlotData.item.Id) { inventory.AddAmountOfItem(slotsOnInterface[obj], mouseHoverSlotData.amount); mouseHoverSlotData.RemoveItem(); } inventory.SwapItems(slotsOnInterface[obj], mouseHoverSlotData); } } else { if (inventory.AddOrSetSlot(slotsOnInterface[obj], mouseHoverSlotData, 1)) { inventory.RemoveAmountOfItem(slotsOnInterface[obj], 1); } } } } }