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);
        }
        static List <Mod> ReadModsFromSaveHeader(bool readModVersion)
        {
            List <Mod> saveMods = new List <Mod>();

            MetaHeaderUtility.BeginReading(MetaHeaderUtility.LastAccessedSaveFilePathInLoadSelection);
            for (int i = 0; i < ScribeMetaHeaderUtility.loadedModNamesList.Count; i++)
            {
                var    mod        = new Mod(ScribeMetaHeaderUtility.loadedModIdsList[i], ScribeMetaHeaderUtility.loadedModNamesList[i], i);
                string identifier = mod.Identifier;
                if (readModVersion)
                {
                    mod.Version = MetaHeaderUtility.GetVersion(identifier);
                }
                saveMods.Add(mod);
            }
            MetaHeaderUtility.EndReading();
            return(saveMods);
        }
        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();
        }