/// <summary> /// Retrieves the <see cref="ModSettingsPack"/> for a given mod identifier. /// </summary> /// <param name="modId">The unique identifier of the mod that owns the pack</param> /// <param name="displayModName">If not null, assigns the <see cref="ModSettingsPack.EntryName"/> property of the pack. /// This will be displayed in the Mod Settings dialog as a header.</param> public ModSettingsPack GetModSettings(string modId, string displayModName = null) { if (!IsValidElementName(modId)) { throw new Exception("Invalid name for mod settings group: " + modId); } ModSettingsPack pack = null; for (int i = 0; i < packs.Count; i++) { if (packs[i].ModId == modId) { pack = packs[i]; break; } } if (pack == null) { pack = InstantiatePack(modId); } if (displayModName != null) { pack.EntryName = displayModName; } return(pack); }
public ModEntry(string modName, ModSettingsPack settingsPack, Mod vanillaMod) { ModName = modName; SettingsPack = settingsPack; VanillaMod = vanillaMod; HasContextMenuEntries = settingsPack != null && (settingsPack.CanBeReset || settingsPack.ContextMenuEntries != null); }
private ModSettingsPack InstantiatePack(string modId) { var pack = new ModSettingsPack(modId) { ParentManager = this }; packs.Add(pack); return(pack); }
protected override void LoadFromXml(XDocument xml) { packs.Clear(); if (xml.Root == null) { throw new NullReferenceException("Missing root node"); } foreach (var childNode in xml.Root.Elements()) { var pack = new ModSettingsPack(childNode.Name.ToString()); packs.Add(pack); pack.LoadFromXml(childNode); } }
public ModSettingsPack GetModSettings(string modId) { if (!IsValidElementName(modId)) { throw new Exception("Invalid name for mod settings group: " + modId); } for (int i = 0; i < packs.Count; i++) { if (packs[i].ModId == modId) { return(packs[i]); } } var pack = new ModSettingsPack(modId); packs.Add(pack); return(pack); }
public ModEntry(string modName, ModSettingsPack settingsPack, Mod vanillaMod) { ModName = modName; SettingsPack = settingsPack; VanillaMod = vanillaMod; }