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); }
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"); }