Esempio n. 1
0
    /// <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);
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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;
            }
        }
    }