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; }
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); } }
private void DragSlot(InventoryBaseSlot <TTemplate, TInstance> slot) { if (inventoryManager.IsDraggingItem) { // @todo: swap dragged item } else { if (!slot.ContainsItem) { return; } inventoryManager.SetDraggedItem(slot); } }
public override void SetSlot(InventoryBaseSlot <TTemplate, TInstance> inSlot) { base.SetSlot(inSlot); }
private void RightClickSlot(InventoryBaseSlot <TTemplate, TInstance> slot) { }
private void MouseExitSlot(InventoryBaseSlot <TTemplate, TInstance> slot) { // @todo: unhover }