public void AddItem(InventoryItem item, int count = 1) { InventoryItemRef itemRef = new InventoryItemRef(); itemRef.RuntimeRef = item; AddItem(itemRef, count); }
private void OnClickNpcTradingItem(InventoryItemRef item) { npcInv.AddItem(item, npcTradingItems[item]); npcTradingItems.Remove(item); balance += item.RuntimeRef.value; balanceText.text = balance.ToString(); UpdateTrade(); }
private void OnClickPlayerTradingItem(InventoryItemRef item) { playerInv.AddItem(item, playerTradingItems[item]); playerTradingItems.Remove(item); balance -= item.RuntimeRef.value; balanceText.text = balance.ToString(); UpdateTrade(); }
public bool HasItem(InventoryItemRef i, int count) { int itemCount; items.TryGetValue(i, out itemCount); return(itemCount >= count); }
public void AddItem(InventoryItemRef item, int count = 1) { if (items.ContainsKey(item)) { items[item] += count; } else { items.Add(item, count); } OnInventoryChanged?.Invoke(); }
public bool RemoveItem(InventoryItemRef item, int count = 1, bool callInventoryChanged = true) { int itemCount; bool result = items.TryGetValue(item, out itemCount) && itemCount >= count; if (result) { itemCount -= count; if (itemCount == 0) { int itemIndex = 0; foreach (InventoryItemRef r in items.Keys) { if (r.Equals(item)) { break; } itemIndex++; } if (itemIndex < selectedItemIndex) { selectedItemIndex--; } else if (selectedItemIndex == itemIndex) { UnequipCurrentItem(); } //if(item == selectedItem) //{ //} items.Remove(item); } else { items[item] = itemCount; } if (callInventoryChanged) { OnInventoryChanged?.Invoke(); } } return(result); }
private void HoverExitEvent(InventoryItemRef r) { Debug.Log("hoverexit"); }
private void HoverEvent(InventoryItemRef r) { Debug.Log("hoverenter on " + r.RuntimeRef.itemName); }
private void ClickEvent(InventoryItemRef r) { Debug.Log("clicked"); }