//! Called by unity engine on start up to initialize variables. public new void Start() { base.Start(); recipes = new BasicMachineRecipe[] { new BasicMachineRecipe("Copper Ingot", "Copper Wire"), new BasicMachineRecipe("Aluminum Ingot", "Aluminum Wire"), new BasicMachineRecipe("Iron Ingot", "Iron Pipe"), new BasicMachineRecipe("Steel Ingot", "Steel Pipe") }; PlayerController playerController = GameObject.Find("Player").GetComponent <PlayerController>(); BlockDictionary blockDictionary = new BlockDictionary(playerController); BasicMachineRecipe[] modRecipes = blockDictionary.GetMachineRecipes("Extruder"); if (modRecipes != null) { List <BasicMachineRecipe> recipeList = recipes.ToList(); foreach (BasicMachineRecipe recipe in modRecipes) { recipeList.Add(recipe); } recipes = recipeList.ToArray(); } }
//! Called by unity engine on start up to initialize variables. public new void Start() { base.Start(); recipes = new BasicMachineRecipe[] { new BasicMachineRecipe("Copper Plate", "Copper Gear"), new BasicMachineRecipe("Iron Plate", "Iron Gear"), new BasicMachineRecipe("Tin Plate", "Tin Gear"), new BasicMachineRecipe("Bronze Plate", "Bronze Gear"), new BasicMachineRecipe("Steel Plate", "Steel Gear"), new BasicMachineRecipe("Aluminum Plate", "Aluminum Gear") }; PlayerController playerController = GameObject.Find("Player").GetComponent <PlayerController>(); BlockDictionary blockDictionary = new BlockDictionary(playerController); BasicMachineRecipe[] modRecipes = blockDictionary.GetMachineRecipes("Gear Cutter"); if (modRecipes != null) { List <BasicMachineRecipe> recipeList = recipes.ToList(); foreach (BasicMachineRecipe recipe in modRecipes) { recipeList.Add(recipe); } recipes = recipeList.ToArray(); } }
//! Called by unity engine on start up to initialize variables. public new void Start() { base.Start(); recipes = new BasicMachineRecipe[] { new BasicMachineRecipe("Copper Ore", "Copper Ingot"), new BasicMachineRecipe("Iron Ore", "Iron Ingot"), new BasicMachineRecipe("Tin Ore", "Tin Ingot"), new BasicMachineRecipe("Aluminum Ore", "Aluminum Ingot"), new BasicMachineRecipe("Regolith", "Glass Block") }; PlayerController playerController = GameObject.Find("Player").GetComponent <PlayerController>(); BlockDictionary blockDictionary = new BlockDictionary(playerController); BasicMachineRecipe[] modRecipes = blockDictionary.GetMachineRecipes("Smelter"); if (modRecipes != null) { List <BasicMachineRecipe> recipeList = recipes.ToList(); foreach (BasicMachineRecipe recipe in modRecipes) { recipeList.Add(recipe); } recipes = recipeList.ToArray(); } }
//! Gets recipes for a specfic machine. public BasicMachineRecipe[] GetMachineRecipes(string machineName) { StateManager stateManager = GameObject.Find("GameManager").GetComponent <StateManager>(); string modPath = Path.Combine(Application.persistentDataPath, "Mods"); Directory.CreateDirectory(modPath); string[] modDirs = Directory.GetDirectories(modPath); foreach (string path in modDirs) { string machinePath = path + "/Machines/"; Directory.CreateDirectory(machinePath); DirectoryInfo d = new DirectoryInfo(machinePath); foreach (FileInfo file in d.GetFiles("*.qe")) { string filePath = machinePath + file.Name; string fileContents = File.ReadAllText(filePath); string fileName = file.Name.Remove(file.Name.Length - 3); if (fileName == machineName) { string recipeContents = fileContents.Split(']')[1]; string[] machineContents = recipeContents.Split('}'); BasicMachineRecipe[] machineRecipes = new BasicMachineRecipe[machineContents.Length - 1]; for (int i = 0; i < machineRecipes.Length; i++) { string input = machineContents[i].Split(':')[0]; string output = machineContents[i].Split(':')[1]; machineRecipes[i] = new BasicMachineRecipe(input, output); } string modName = new DirectoryInfo(path).Name; if (!stateManager.modRecipeList.Contains(machineName)) { stateManager.modRecipeList.Add(machineName); string[] commandLineOptions = Environment.GetCommandLineArgs(); if (commandLineOptions.Contains("-devel")) { Debug.Log("Mod " + "[" + modName + "]" + " added recipes for [" + machineName + "]"); } } return(machineRecipes); } } } return(null); }