private static void ShowModList(SessionModInfo mods) { var activeMods = LoadedModManager.RunningModsListForReading.Join(m => "+ " + m.Name, "\n"); var serverMods = mods.remoteModNames.Join(name => (ModLister.AllInstalledMods.Any(m => m.Name == name) ? "+ " : "- ") + name, delimiter: "\n"); Find.WindowStack.Add(new TwoTextAreas_Window($"RimWorld {mods.remoteRwVersion}\nServer mod list:\n\n{serverMods}", $"RimWorld {VersionControl.CurrentVersionString}\nActive mod list:\n\n{activeMods}")); }
public ModsMismatchWindow(SessionModInfo mods, Action continueConnecting) : base("MpWrongDefs".Translate(), "MpWrongDefsInfo".Translate()) { this.mods = mods; this.continueConnecting = continueConnecting; returnToServerBrowser = true; modsMatch = ModManagement.ModsMatch(mods.remoteModIds); modConfigsMatch = ModManagement.CheckModConfigsMatch(mods.remoteModConfigs); if (modsMatch) { reason = "MpWrongModConfigs".Translate(); desc = "MpWrongModConfigsInfo".Translate(); } }
public DefMismatchWindow(SessionModInfo mods) : base("MpWrongDefs".Translate(), "MpWrongDefsInfo".Translate()) { this.mods = mods; returnToServerBrowser = true; }
private static void ShowConfigsList(SessionModInfo mods) { var mismatchedModConfigs = ModManagement.GetMismatchedModConfigs(mods.remoteModConfigs); Find.WindowStack.Add(new DebugTextWindow($"Mismatched mod configs:\n\n{mismatchedModConfigs.Join(file => "+ " + file, "\n")}")); }