UpkManager.Domain.Models.UpkFile.Compression.DomainCompressedChunkBlock.ReadCompressedChunkBlock C# (CSharp) Method

ReadCompressedChunkBlock() public method

public ReadCompressedChunkBlock ( ByteArrayReader reader ) : void
reader UpkManager.Domain.Helpers.ByteArrayReader
return void
    public void ReadCompressedChunkBlock(ByteArrayReader reader) {
      CompressedSize   = reader.ReadInt32();
      UncompressedSize = reader.ReadInt32();
    }

Usage Example

    public async Task ReadCompressedChunkHeader(ByteArrayReader reader, uint flags, int uncompressedSize, int compressedSize) {
      if (flags > 0) {
        Signature = reader.ReadUInt32();

        if (Signature != Signatures.Signature) throw new Exception("Compressed Header Signature not found.");

        BlockSize = reader.ReadInt32();

        CompressedSize   = reader.ReadInt32();
        UncompressedSize = reader.ReadInt32();

        Blocks.Clear();

        int blockCount = (UncompressedSize + BlockSize - 1) / BlockSize;

        for(int i = 0; i < blockCount; ++i) {
          DomainCompressedChunkBlock block = new DomainCompressedChunkBlock();

          block.ReadCompressedChunkBlock(reader);

          Blocks.Add(block);
        }
      }
      else {
        Blocks = new List<DomainCompressedChunkBlock> {
          new DomainCompressedChunkBlock {
            UncompressedSize = uncompressedSize,
              CompressedSize =   compressedSize
          }
        };
      }

      foreach(DomainCompressedChunkBlock block in Blocks) await block.ReadCompressedChunkBlockData(reader);
    }
All Usage Examples Of UpkManager.Domain.Models.UpkFile.Compression.DomainCompressedChunkBlock::ReadCompressedChunkBlock