示例#1
0
 public void OnDragEnd(GameObject obj)
 {
     if (mouseItem.hoverObj)
     {
         inventory.MoveItem(itemsDisplayed[obj], itemsDisplayed[mouseItem.hoverObj]);
     }
     else
     {
         inventory.RemoveItem(itemsDisplayed[obj].item);
     }
     Destroy(mouseItem.obj);
     mouseItem.item = null;
 }
 /// <summary>
 /// We than move the items in Inventory by swaping the values retrieve from the Dictionnary<> use for displaying Inventory Slot
 /// </summary>
 /// <param name="obj"></param>
 public void OnDragExit(GameObject obj)
 {
     if (player._mouseItem._hoverGameObject)
     {
         _inventory.MoveItem(_itemsDisplayed[player._mouseItem._hoverGameObject], _itemsDisplayed[obj]);
     }
     else
     {
         _inventory.RemoveItem(_itemsDisplayed[obj]._item);
     }
     Destroy(player._mouseItem._gameObject);
     player._mouseItem._itemSlot = null;
 }
示例#3
0
    public void OnEndDrag(GameObject obj)
    {
        if (MouseItem.HoverObj)
        {
            inventory.MoveItem(_itemsDisplayed[obj], _itemsDisplayed[MouseItem.HoverObj]);
        }
        else
        {
            inventory.RemoveItem(_itemsDisplayed[obj].item);
        }

        Destroy(MouseItem.Obj);
        MouseItem.Item = null;
    }
示例#4
0
    public void OnEndDrag(GameObject obj)
    {
        var mouseItem      = playerInventoryScript.MouseItem;
        var mouseHoverItem = mouseItem.HoverItem;
        var mouseHoverObj  = mouseItem.HoverObj;
        var getItemObject  = inventory.database.GetItem;

        if (mouseHoverObj)
        {
            if (mouseHoverItem.CanPlaceInSlot(getItemObject[ItemsDisplayed[obj].id]))
            {
                inventory.MoveItem(ItemsDisplayed[obj], mouseHoverItem.parent.ItemsDisplayed[mouseHoverObj] /*ItemsDisplayed[playerInventoryScript.MouseItem.HoverObj]*/);
            }
        }
        else
        {
            // inventory.RemoveItem(ItemsDisplayed[obj].item);
        }

        Destroy(mouseItem.Obj);
        mouseItem.Item = null;
    }
示例#5
0
    public void OnDragEnd(GameObject obj)
    {
        var itemOnMouse    = player.mouseItem;
        var mouseHoverItem = itemOnMouse.hoverItem;
        var mouseHoberObj  = itemOnMouse.hoverObj;
        var GetItemObject  = inventory.database.GetItem;

        if (itemOnMouse.ui != null)
        {
            if (mouseHoberObj)
            {
                if (mouseHoverItem.CanPlaceInSlot(GetItemObject[itemsDisplayed[obj].ID]) && (mouseHoverItem.item.Id <= -1 || (mouseHoverItem.item.Id >= 0 && itemsDisplayed[obj].CanPlaceInSlot(GetItemObject[mouseHoverItem.item.Id]))))
                {
                    inventory.MoveItem(itemsDisplayed[obj], mouseHoverItem.parent.itemsDisplayed[itemOnMouse.hoverObj]);
                }
            }
        }
        else
        {
            inventory.RemoveItem(itemsDisplayed[obj].item);
        }
        Destroy(itemOnMouse.obj);
        itemOnMouse.item = null;
    }
示例#6
0
        public void OnDragEnd(GameObject obj)
        {
            if (dragDropIcon.hoveringOverObject != null)
            {
                var endDragButton = dragDropIcon.hoveringOverObject.GetComponent <InventorySlotButton>();

                if (endDragButton != null && dragDropIcon.fromButton != null)
                {
                    var fromParent = dragDropIcon.fromButton.inventoryGroupParent;
                    var toParent   = endDragButton.inventoryGroupParent;
                    var fromSlot   = SlotMap[dragDropIcon.fromButton];
                    var toSlot     = toParent.SlotMap[endDragButton];

                    var fromGear = fromSlot.item as Gear.Gear;
                    var toGear   = toSlot.item as Gear.Gear;
                    if (toSlot.CanPlaceInSlot(fromGear))
                    {
                        if (fromSlot.CanPlaceInSlot(toGear) || toSlot.item.Id < 0)
                        {
                            if (fromParent == toParent)
                            {
                                Debug.Log("Switching in same inventory");
                                inventory.MoveItem(fromSlot, toSlot);
                            }
                            else
                            {
                                Debug.Log("Switching two different inventories");
                                var tempItem   = fromSlot.item;
                                var tempAmount = fromSlot.amount;
                                fromParent.inventory.SetInventorySlot(fromSlot, toSlot.item, toSlot.amount);
                                toParent.inventory.SetInventorySlot(toSlot, tempItem, tempAmount);
                            }
                        }
                        else
                        {
                            Debug.Log($"Sending slot cannot hold gearType: {toGear.gearSlot}");
                        }
                    }
                    else
                    {
                        Debug.Log($"Receiving slot cannot hold gearType: {fromGear.gearSlot}");
                        Debug.Log($"Receiving slot can hold ItemTypes: {string.Join(", ", toSlot.AllowedItemTypes)} and GearSlots: {string.Join(", ", toSlot.AllowedGearTypes)}");
                    }
                }
            }
            else if (dragDropIcon.icon != null)
            {
                Debug.Log("Dropping Item");
                var fromSlot      = SlotMap[dragDropIcon.fromButton];
                var button        = obj.GetComponent <InventorySlotButton>();
                var droppedObject = Instantiate(button.itemSettings.lootableItems.lootableItemMap[fromSlot.item.itemType], Utilities.MouseOnPlane(), Quaternion.identity);
                var lootableData  = droppedObject.GetComponent <LootableItem>();
                lootableData.amount  = fromSlot.amount;
                lootableData.setItem = fromSlot.item;

                inventory.RemoveItem(fromSlot.item, fromSlot.amount);
            }

            Destroy(dragDropIcon.icon);
            dragDropIcon.icon       = null;
            dragDropIcon.fromButton = null;
        }