private static bool IsPk(string fileExtension) { var extensions = Util.GetReadablePkExtensions(); foreach (string ext in extensions) { if (fileExtension.Equals(ext, StringComparison.OrdinalIgnoreCase)) { return(true); } } return(false); }
private string GetMaps(IArchiveReader reader) { var txtEntries = GetEntriesByExtension(reader, ".txt").Where(x => x.Name.Equals("mapinfo.txt", StringComparison.InvariantCultureIgnoreCase)); if (txtEntries.Any()) { return(MapStringFromMapInfo(txtEntries.First())); } StringBuilder sb = new StringBuilder(); sb.Append(MapStringFromGameFile(reader)); IEnumerable <IArchiveEntry> pk3Entries = Util.GetEntriesByExtension(reader, Util.GetReadablePkExtensions()); foreach (IArchiveEntry entry in pk3Entries) { string extractedFile = Util.ExtractTempFile(TempDirectory.GetFullPath(), entry); using (var extractedZip = ArchiveReader.Create(extractedFile)) sb.Append(GetMaps(extractedZip)); } return(sb.ToString()); }