Beispiel #1
0
 public void RemoveItem(Item item)
 {
     if (item.isStackable())
     {
         Item itemInInventory = null;
         foreach (Item inventoryItem in itemList)
         {
             if (inventoryItem.itemType == item.itemType)
             {
                 inventoryItem.amount -= item.amount;
                 itemInInventory       = inventoryItem;
             }
         }
         if (itemInInventory != null && itemInInventory.amount <= 0)
         {
             itemList.Remove(itemInInventory);
         }
     }
     else
     {
         itemList.Remove(item);
     }
     OnOtemListChanged?.Invoke(this, EventArgs.Empty);
 }
Beispiel #2
0
 public void AddItem(Item item)
 {
     if (item.isStackable())
     {
         bool itemAlreadyInInventory = false;
         foreach (Item inventoryItem in itemList)
         {
             if (inventoryItem.itemType == item.itemType)
             {
                 inventoryItem.amount  += item.amount;
                 itemAlreadyInInventory = true;
             }
         }
         if (!itemAlreadyInInventory)
         {
             itemList.Add(item);
         }
     }
     else
     {
         itemList.Add(item);
     }
     OnOtemListChanged?.Invoke(this, EventArgs.Empty);
 }