Example #1
0
    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);
                    }
                }
            }
        }
    }