// Use this for initialization void Start() { contentPanel = transform.GetChild(0).GetChild(0).transform; recipeDB = GameObject.FindGameObjectWithTag("RecipeDB").GetComponent <RecipeDB>(); recipeList = recipeDB.GetRecipeList <CraftRecipe>(); inventory = playerInventory.GetComponent <Inventory>(); input = craftingInput.GetComponent <Inventory>(); AddButtons(); }
private void Start() { button.onClick.AddListener(Craft); itemDB = GameObject.FindGameObjectWithTag("ItemDB").transform.GetComponent <ItemDB>(); recipeDB = transform.parent.GetChild(0).GetComponent <RecipeDB>(); recipeList = recipeDB.GetRecipeList <CraftRecipe>(); Input = transform.parent.GetChild(2).GetComponent <Inventory>(); Output = transform.parent.GetChild(3).GetComponent <Inventory>(); }
public void Craft() { List <Item> inputItems = Input.items; List <CraftRecipe> recipeList = recipeDB.GetRecipeList <CraftRecipe>(); int[] allItemIDs = new int[inputItems.Count]; for (int i = 0; i < inputItems.Count; i++) { allItemIDs[i] = inputItems[i].ID; } for (int i = 0; i < recipeList.Count; i++) { int result = recipeList[i].Evaluate(allItemIDs); if (result >= 0) { TryCraftingItem(result); } } }