示例#1
0
    RecipeItemPossessed CheckIfPlayerHasRequiredItem(int itemId)
    {
        Inventory inventory = GameServer.clients[from].player.inventory;

        foreach (InventorySlot slot in inventory.items)
        {
            if (slot.item != null)
            {
                if (itemId == slot.item.item_id)
                {
                    RecipeItemPossessed itemPossessed = new RecipeItemPossessed();
                    itemPossessed.itemId   = slot.item.item_id;
                    itemPossessed.quantity = slot.quantity;
                    return(itemPossessed);
                }
            }
        }
        return(null);
    }
示例#2
0
    public int GetMaxCraftAmount()
    {
        int[] canMakeList = new int[itemsNeeded.Count];
        int   i           = 0;

        foreach (RecipeItemRequirement item in itemsNeeded)
        {
            RecipeItemPossessed itemPossessed = CheckIfPlayerHasRequiredItem(item.item_id);

            if (itemPossessed != null)
            {
                itemsPossessed.Add(itemPossessed);
            }

            canMakeList[i] = CanMake(item);
            i++;
        }

        return(canMakeList.Min());
    }