public void GenerateRecipe() { // This creates the UI element for the given recipe int recipeToGenerateNum = Random.Range(0, wholeRecipes.Count - 1); var inUse = wholeRecipes[recipeToGenerateNum]; injectionItem toInject = new injectionItem(); toInject.parentName = inUse.foodContainerName; toInject.parentThumbnail = inUse.thumbnail; List <string> tempIngredientsName = new List <string>(); List <string> tempIngredients = new List <string>(); foreach (ingredientStruct i in inUse.ingredients) { if (i.isRequired) { tempIngredientsName.Add(i.itemName); tempIngredients.Add(i.thumbnail); } else { int rand = Random.Range(0, 2); if (rand == 1) { tempIngredientsName.Add(i.itemName); tempIngredients.Add(i.thumbnail); } } } toInject.ingredients = new string[tempIngredientsName.Count]; toInject.ingredientThumbnails = new string[tempIngredients.Count]; for (var i = 0; i < tempIngredients.Count; i++) { toInject.ingredients[i] = tempIngredientsName[i]; toInject.ingredientThumbnails[i] = tempIngredients[i]; } recipesInPlay.Add(toInject); }
void LocalAddRecipe(int index) { injectionItem i = recipesInPlay[index]; var newObj = Instantiate(recipeContainerPrefab); newObj.transform.SetParent(recipeContainer.transform, false); RecipeListingInjector inj = newObj.GetComponent <RecipeListingInjector>(); inj.parentImage = i.parentThumbnail; inj.shellContainer = recipeShellContainer; foreach (string spritename in i.ingredientThumbnails) { inj.ingredients.Add(spritename); } // Add it to the local view so we can refer to it later localRecipes.Add(newObj); }