Esempio n. 1
0
 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));
    }