예제 #1
0
        private static SubMod SubModFromOption(DirectoryInfo basePath, OptionV0 option, HashSet <FullPath> seenMetaFiles)
        {
            var subMod = new SubMod {
                Name = option.OptionName
            };

            AddFilesToSubMod(subMod, basePath, option, seenMetaFiles);
            subMod.IncorporateMetaChanges(basePath, false);
            return(subMod);
        }
예제 #2
0
        private static void AddFilesToSubMod(SubMod mod, DirectoryInfo basePath, OptionV0 option, HashSet <FullPath> seenMetaFiles)
        {
            foreach (var(relPath, gamePaths) in option.OptionFiles)
            {
                var fullPath = new FullPath(basePath, relPath);
                foreach (var gamePath in gamePaths)
                {
                    mod.FileData.TryAdd(gamePath, fullPath);
                }

                if (fullPath.Extension is ".meta" or ".rgsp")
                {
                    seenMetaFiles.Add(fullPath);
                }
            }
        }