Esempio n. 1
0
 public void RemoveItem(ItemAnimal item)
 {
     if (item.IsStackable())
     {
         ItemAnimal itemInInventory = null;
         foreach (ItemAnimal inventoryItem in itemList)
         {
             if (inventoryItem.animal == item.animal)
             {
                 inventoryItem.amount--;
                 itemInInventory = inventoryItem;
                 break;
             }
         }
         if (itemInInventory != null && itemInInventory.amount <= 0)
         {
             itemList.Remove(itemInInventory);
         }
     }
     else
     {
         itemList.Remove(item);
     }
     OnItemListChanged?.Invoke(this, EventArgs.Empty);
 }
Esempio n. 2
0
 public void AddItem(ItemAnimal item)
 {
     if (item.IsStackable())
     {
         bool itemAlreadyInInventory = false;
         foreach (ItemAnimal inventoryItem in itemList)
         {
             if (inventoryItem.animal == item.animal)
             {
                 inventoryItem.amount  += item.amount;
                 itemAlreadyInInventory = true;
             }
         }
         if (!itemAlreadyInInventory)
         {
             itemList.Add(item);
         }
     }
     else
     {
         itemList.Add(item);
     }
     OnItemListChanged?.Invoke(this, EventArgs.Empty);
 }
 private void UseItem(ItemAnimal item)
 {
     inventory.RemoveItem(new ItemAnimal {
         animal = item.animal, amount = 1
     });
 }
Esempio n. 4
0
 public void UseItem(ItemAnimal item)
 {
     useItemAction(item);
 }