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