public virtual void SetSlot(InventoryBaseSlot <TTemplate, TInstance> slot)
        {
            Assert.IsNotNull(slot, "null inventory slot model is passed to inventory slot ui");

            this.slot = slot;
            this.slot.OnItemChanged += UpdateUI;
        }
 public void PutDraggedItem(InventoryBaseSlot <TTemplate, TInstance> slot)
 {
     if (slot.SetItemInstance(DraggedItem))
     {
         DraggedItem           = null;
         DraggedSlot           = null;
         dragItemImage.enabled = false;
     }
 }
        public void SetDraggedItem(InventoryBaseSlot <TTemplate, TInstance> draggedSlot)
        {
            DraggedSlot = draggedSlot;
            DraggedItem = draggedSlot.Item;

            draggedSlot.SetItemInstance(null);

            dragItemImage.sprite  = DraggedItem.Template.icon;
            dragItemImage.enabled = true;
        }
예제 #4
0
        private void LeftClickSlot(InventoryBaseSlot <TTemplate, TInstance> slot)
        {
            // @todo: consume, equip, etc

            if (inventoryManager.IsDraggingItem)
            {
                // swap item with dragged slot if they are different items. otherwise, we might be able to stack them
                if (slot.ContainsItem && slot.Item.Template != inventoryManager.DraggedItem.Template)
                {
                    inventoryManager.DraggedSlot.SetItemInstance(slot.Item);
                }

                inventoryManager.PutDraggedItem(slot);
            }
        }
예제 #5
0
        private void DragSlot(InventoryBaseSlot <TTemplate, TInstance> slot)
        {
            if (inventoryManager.IsDraggingItem)
            {
                // @todo: swap dragged item
            }
            else
            {
                if (!slot.ContainsItem)
                {
                    return;
                }

                inventoryManager.SetDraggedItem(slot);
            }
        }
예제 #6
0
 public override void SetSlot(InventoryBaseSlot <TTemplate, TInstance> inSlot)
 {
     base.SetSlot(inSlot);
 }
예제 #7
0
 private void RightClickSlot(InventoryBaseSlot <TTemplate, TInstance> slot)
 {
 }
예제 #8
0
 private void MouseExitSlot(InventoryBaseSlot <TTemplate, TInstance> slot)
 {
     // @todo: unhover
 }