public void RemoveItem(Items item) { if (item.itemType == Items.ItemType.SMG) { playerController.DropWeapon(); } else if (item.itemType == Items.ItemType.Shotgun) { playerController.DropWeapon(); } if (item.IsStackable()) { Items itemInInventory = null; foreach (Items inventoryItem in itemList) { if (inventoryItem.itemType == item.itemType) { inventoryItem.iItemAmmount -= item.iItemAmmount; itemInInventory = inventoryItem; } } if (itemInInventory != null && itemInInventory.iItemAmmount <= 0) { itemList.Remove(itemInInventory); } } else { itemList.Remove(item); } OnItemsListChanged?.Invoke(this, EventArgs.Empty); }
public void AddItem(Items item) { if (item.IsStackable()) { bool bItemAlreadyInInventory = false; foreach (Items inventoryItem in itemList) { if (inventoryItem.itemType == item.itemType) { inventoryItem.iItemAmmount += item.iItemAmmount; bItemAlreadyInInventory = true; } } if (!bItemAlreadyInInventory) { itemList.Add(item); } } else { itemList.Add(item); } OnItemsListChanged?.Invoke(this, EventArgs.Empty); }