void UseItem(GameObject obj) { IConsumable item = obj.GetComponent <IConsumable>(); //Call the item's use function item.Use(player); if (player.Bag.GetComponent <IBag>().Remove(obj, playerObject) <= 0) { ClearItemInfo(); } //Reload the inventory PopulateInventory(); }
public bool TryPickupItem() { if (!ground.IsItemOnGround) { return(false); } Item item = ground.PickUpItem(); if (item.CanEquip) { Item oldItem = item.Equip(this); ground.DropItem(oldItem, transform.position); inventoryChanged.Invoke(EquippedItems); } else { // might be better to fold this into Equip so that all items can be 'equipped' IConsumable itemAsConsumable = (IConsumable)item; itemAsConsumable.Use(transform.parent.gameObject); } return(true); }