internal static void RegisterRecipe(CustomRecipeStruct customRecipe) { List <RecipeTable.Recipe> recipeList = null; var recipeTable = Singleton.Manager <RecipeManager> .inst.recipeTable; foreach (RecipeTable.RecipeList list in recipeTable.m_RecipeLists) { if (list.m_Name == customRecipe.NameOfFabricator) { recipeList = list.m_Recipes; break; } } if (recipeList == null) { Console.WriteLine("Creating new recipe table '" + customRecipe.NameOfFabricator + "'..."); recipeList = new List <RecipeTable.Recipe>(); var NewRecipeItem = new RecipeTable.RecipeList() { m_Name = customRecipe.NameOfFabricator, m_Recipes = recipeList, }; recipeTable.m_RecipeLists.Add(NewRecipeItem); } var InputItems = new RecipeTable.Recipe.ItemSpec[customRecipe.Inputs.Length]; for (int i = 0; i < customRecipe.Inputs.Length; i++) { InputItems[i] = customRecipe.Inputs[i].ItemSpec(); } var OutputItems = new RecipeTable.Recipe.ItemSpec[customRecipe.Outputs.Length]; for (int j = 0; j < customRecipe.Outputs.Length; j++) { OutputItems[j] = customRecipe.Outputs[j].ItemSpec(); } var Recipe = new RecipeTable.Recipe() { m_BuildTimeSeconds = customRecipe.BuildTime, m_InputItems = InputItems, m_OutputType = customRecipe.OutputType, m_OutputItems = OutputItems }; recipeList.Add(Recipe); }
public void CallRecipeRegister(CustomRecipeStruct CustomBlock) { customRecipe = CustomBlock; Invoke("FinishRecipe", .5f); }