/// <summary> /// Called when the craft button is clicked. /// </summary> public void callback_craftButtonClick() { Recipe r = this.selectedRecipe.getRecipe(); ContainerContents <IItemBase> inventory = this.getPlayer().inventory; // Remove the items from the players inventory. foreach (ItemData item in r.getIngredients()) { int i; inventory.containsItem(item, out i); if (i != -1) { ItemManager.destroyItem(this.getPlayer(), i); } } // Add the new item to the players inventory. if (r.getResult() != null) { IItemBase item = ItemManager.create <IItemBase>(r.getResult()); item.setInWorld(false, Vector3.zero, Quaternion.identity); inventory.addItem(item); } // Set the selected recipe to be null. this.selectedRecipe.setOutlined(false); this.setSelectedRecipe(null); }
public override void onRightClick(Player player) { base.onRightClick(player); player.health.heal(this.data.healthRestored); this.onConsume(); ItemManager.destroyHeldItem(player); IItemBase item = ItemManager.create <IItemBase>(this.data.leftoverItem); item.setInWorld(false, Vector3.zero, Quaternion.identity); player.inventory.addItem(item); }
protected void dropItem(int index, Vector3 pos) { IItemBase item = this.inventory.getItem(index); if (item != null) { item.setInWorld(true, pos, Quaternion.identity); this.inventory.setItem(index, null); if (this is Player) { ((Player)this).heldItemDisplayer.heldItemLastFrame = null; } } }