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); }
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()); }