private void WriteDirectory(MemoryMappedFile archiveMap, long payloadOffset, PackedArchiveDirectoryRecord record, DirectoryInfo dir) { foreach (var subdirRecord in record.Subdirectories) { WriteDirectory(archiveMap, payloadOffset, subdirRecord, dir.Subdirectory(subdirRecord.Name)); } foreach (var fileRecord in record.Files) { WriteFile(archiveMap, payloadOffset, fileRecord, dir.File(fileRecord.Name)); } }
public PackedArchiveDirectory(PackedArchive archive, PackedArchiveDirectoryRecord record) { this.archive = archive; this.record = record; subdirectories = record.Subdirectories.ToDictionary( subdirRecord => subdirRecord.Name, subdirRecord => new PackedArchiveDirectory(archive, subdirRecord)); files = record.Files.ToDictionary( fileRecord => fileRecord.Name, fileRecord => new PackedArchiveFile(archive, fileRecord)); }