public static void SetActive(string name, GameCompatibleVersion version, Version factorioVersion, bool value, bool isOnly, bool isDefault) { if (Contains(factorioVersion, out var list)) { list.SetActive(name, value, version, factorioVersion, isOnly, isDefault); list.Save(); } else { list = ModTemplateList.Load(Path.Combine(App.Instance.Settings.GetModDirectory(factorioVersion).FullName, "mod-list.json")); list.Version = factorioVersion; TemplateLists.Add(list); list.SetActive(name, value, version, factorioVersion, isOnly, isDefault); list.Save(); } }
public static bool GetActive(string name, GameCompatibleVersion version, Version factorioVersion, bool isOnly) { ModTemplateList list; if (Contains(factorioVersion, out list)) { return(list.GetActive(name, version, factorioVersion, isOnly)); } else { list = ModTemplateList.Load(Path.Combine(App.Instance.Settings.GetModDirectory(factorioVersion).FullName, "mod-list.json")); list.Version = factorioVersion; TemplateLists.Add(list); return(list.GetActive(name, version, factorioVersion, isOnly)); } }
public static void SetActive(string name, Version version, bool value) { ModTemplateList list; if (Contains(version, out list)) { list.SetActive(name, value); } else { list = ModTemplateList.Load(Path.Combine(App.Instance.Settings.GetModDirectory(version).FullName, "mod-list.json")); list.Version = version; TemplateLists.Add(list); list.SetActive(name, value); } }
/// <summary> /// Loads a specified mod-list.json file. /// </summary> /// <param name="path">The file path.</param> /// <returns>Returns a ModTemplateList representing the specified mod-list.json file.</returns> public static ModTemplateList Load(string path) { var file = new FileInfo(path); if (file.Exists) { ModTemplateList templateList = JsonHelper.Deserialize <ModTemplateList>(file); templateList.file = file; return(templateList); } else { var templateList = new ModTemplateList(file); templateList.Save(); return(templateList); } }
public static void LoadTemplates() { TemplateLists.Clear(); var modDirectory = App.Instance.Settings.GetModDirectory(); if (modDirectory.Exists) { foreach (var directory in modDirectory.EnumerateDirectories()) { Version version; if (Version.TryParse(directory.Name, out version)) { var templateList = ModTemplateList.Load(Path.Combine(directory.FullName, "mod-list.json")); templateList.Version = version; TemplateLists.Add(templateList); } } } }
private static bool Contains(Version version, out ModTemplateList list) { list = TemplateLists.Find(l => l.Version == version); return(list != null); }