private void LoadLayoutGenerationScripts() { DirectoryInfo dirInfo = new DirectoryInfo(LayoutGeneratorsPath); DirectoryInfo[] generatorDirectories = dirInfo.GetDirectories(); for (int i = 0; i < generatorDirectories.Length; i++) { FileInfo generatorFile = new FileInfo(Path.Combine(generatorDirectories[i].FullName, "generator.lua")); FileInfo settingsFile = new FileInfo(Path.Combine(generatorDirectories[i].FullName, "settings.json")); if (generatorFile.Exists && settingsFile.Exists) { try { string generatorName = generatorDirectories[i].Name; Script script = LoadScript(generatorFile.FullName); string settingsString = File.ReadAllText(settingsFile.FullName); ScriptLayoutGenerator generator = new ScriptLayoutGenerator(generatorName, script, settingsString); layoutGenerators.Add(generatorName, generator); if (debug) { server.AttachToScript(script, generatorName); } } catch (SyntaxErrorException e) { Debug.Log(e.DecoratedMessage); e.Rethrow(); } } } }
public ScriptLayoutGenerator GetLayoutGenerator(string name) { ScriptLayoutGenerator result = null; layoutGenerators.TryGetValue(name, out result); return(result); }