public void AddItem(Item item) { if (item is CannedFood || item is Ammo) { item.Use(); return; } if (m_items.Contains(item)) { if (item is Consumable) { (m_items[m_items.IndexOf(item)] as Consumable).amount += (item as Consumable).amount; } else { return; } } else { m_items.Add(item); } ITEMS?.Invoke(m_items); }
public void UseItem(Item item) { if (m_items.Contains(item)) { item.Use(); } ITEMS?.Invoke(m_items); }
public void DropItem(Consumable item, int amount) { var consumable = (m_items[m_items.IndexOf(item)] as Consumable); consumable.amount -= amount; if (consumable.amount <= 0) { m_items.Remove(consumable); } else { m_items[m_items.IndexOf(consumable)] = consumable; } ITEMS?.Invoke(m_items); }