public static List <Mod> GetModsFromActive(bool useVersionChecking = false) { List <Mod> activeMods = new List <Mod>(); foreach (var RimworldMod in LoadedModManager.RunningMods) { var mod = new Mod(RimworldMod.PackageId, RimworldMod.Name, RimworldMod.loadOrder); if (useVersionChecking) { mod.Version = MetaHeaderUtility.GetVersionFromManifestFile(RimworldMod); } activeMods.Add(mod); } return(activeMods); }
public static void UpdateModVersionMetaHeader() { string rawFilePath = SaveFilePathCache; string filePath = GenFilePaths.FilePathForSavedGame(rawFilePath); MetaHeaderUtility.BeginReading(filePath); List <ModMetaHeader> metaHeaders = new List <ModMetaHeader>(); foreach (var modContentPack in LoadedModManager.RunningMods) { // var metadata = modContentPack.GetMetaData(); var version = MetaHeaderUtility.GetVersionFromManifestFile(modContentPack); metaHeaders.Add(new ModMetaHeader() { Identifier = modContentPack.PackageId, Version = version }); SimpleLog.Log($"Add metadata to metaHeaders list : {modContentPack.PackageId}, {version}"); } MetaHeaderUtility.SetVersions(metaHeaders); MetaHeaderUtility.EndReading(); }