コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }