public JSMod LoadScript(string file) { try { using (StreamReader r = new StreamReader(file)) { JSMod mod = new JSMod(); mod.FileName = Path.GetFileNameWithoutExtension(file); while (r.Peek() >= 0) { var line = Regex.Unescape(r.ReadLine()); if (String.IsNullOrEmpty(mod.Name)) { mod.Name = ParseStringVar("name", line); } if (String.IsNullOrEmpty(mod.Section)) { mod.Section = ParseStringVar("section", line); } if (String.IsNullOrEmpty(mod.Author)) { mod.Author = ParseStringVar("author", line); } if (String.IsNullOrEmpty(mod.Description)) { mod.Description = ParseStringVar("short_description", line); } if (String.IsNullOrEmpty(mod.Version)) { mod.Version = ParseStringVar("version", line); } if (mod.Dependencies == null) { mod.Dependencies = ParseArrayVar("dependencies", line); } if (mod.DependsOnMods == null) { mod.DependsOnMods = ParseArrayVar("depends_on_mods", line); } } return(mod); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } return(null); }
public void LoadAllScripts(string path) { foreach (var file in Directory.GetFiles(path, "*_MOD.js", SearchOption.TopDirectoryOnly)) { JSMod script = LoadScript(file); if (script != null) { JSMods.Add(script); } } }