示例#1
0
        private static Dictionary <string, LocalizedFile> buildLocalizedAudioTable(List <string> fileList)
        {
            var localizedFiles = new Dictionary <string, LocalizedFile>();

            foreach (var v in fileList)
            {
                string basename         = Path.GetFileNameWithoutExtension(v);
                string localization     = null;
                bool   isALocalizedFile = isLocalizedAudio(basename);
                if (isALocalizedFile)
                {
                    localization = basename.Substring(basename.LastIndexOf("_") + 1);
                    basename     = basename.Substring(0, basename.LastIndexOf("_"));
                }

                if (!localizedFiles.TryGetValue(basename, out var localizedFile))
                {
                    localizedFile            = new LocalizedFile();
                    localizedFile.basename   = basename;
                    localizedFiles[basename] = localizedFile;
                }

                if (!isALocalizedFile)
                {
                    localizedFile.basenameVersionExists = true;
                }
                else
                {
                    localizedFile.localizedVersions.Add(localization);
                }
            }

            return(localizedFiles);
        }
示例#2
0
        public static void GetUniquePlatformFiles()
        {
            Dictionary <string, LocalizedFile> localizedFiles = new Dictionary <string, LocalizedFile>();
            var targetDirPS3   = @"Z:\Mass Effect Builds\PS3";
            var targetDirXenon = @"Z:\Mass Effect Builds\Xenon";
            var targetDirPc    = @"Z:\ME1-Backup\BIOGame";

            var targetDirPS3Files = Directory.GetFiles(targetDirPS3, "*.*", SearchOption.AllDirectories)
                                    .Select(filenameSelector).Where(filenameFilter).ToList();
            var targetDirXenonFiles = Directory.GetFiles(targetDirXenon, "*.*", SearchOption.AllDirectories)
                                      .Select(filenameSelector).Where(filenameFilter).ToList();
            var targetDirPcFiles = Directory.GetFiles(targetDirPc, "*.*", SearchOption.AllDirectories)
                                   .Select(filenameSelector).Where(filenameFilter).ToList();

            var uniqueXenonFromPS3Files = targetDirXenonFiles.Except(targetDirPS3Files).ToList();
            var uniqueXenonFromPCFiles2 = targetDirXenonFiles.Except(targetDirPcFiles).ToList();

            var uniquePS3FromXenon = targetDirPS3Files.Except(targetDirXenonFiles).ToList();
            var uniquePS3FromPC    = targetDirPS3Files.Except(targetDirPcFiles).ToList();

            var uniquePCFromXenon = targetDirPcFiles.Except(targetDirXenonFiles).ToList();
            var uniquePCFromPS3   = targetDirPcFiles.Except(targetDirPS3Files).ToList();

            foreach (var v in targetDirPS3Files)
            {
                string basename         = v;
                string localization     = null;
                bool   isALocalizedFile = v.Contains("_loc_");
                if (isALocalizedFile)
                {
                    basename     = v.Substring(0, v.IndexOf("_loc_"));
                    localization = v.Substring(basename.Length + "_loc_".Length);
                }

                if (!localizedFiles.TryGetValue(basename, out var localizedFile))
                {
                    localizedFile            = new LocalizedFile();
                    localizedFile.basename   = basename;
                    localizedFiles[basename] = localizedFile;
                }

                if (!isALocalizedFile)
                {
                    localizedFile.basenameVersionExists = true;
                }
                else
                {
                    localizedFile.localizedVersions.Add(localization);
                }
            }

            var baseMissing = localizedFiles.Where(x => x.Value.basenameVersionExists == false).ToList();

            Debug.WriteLine("Done");
        }