public void Read(EndianReader reader)
 {
     MetadataSize = reader.ReadInt32();
     if (MetadataSize <= 0)
     {
         throw new Exception($"Invalid metadata size {MetadataSize} for asset file {m_name}");
     }
     FileSize = reader.ReadInt32();
     if (FileSize <= 0)
     {
         throw new Exception($"Invalid data size {FileSize} for asset file {m_name}");
     }
     Generation = (FileGeneration)reader.ReadInt32();
     if (!Enum.IsDefined(typeof(FileGeneration), Generation))
     {
         throw new Exception($"Unsupported file generation {Generation} for asset file '{m_name}'");
     }
     DataOffset = reader.ReadUInt32();
     if (IsReadEndian(Generation))
     {
         Endianess = reader.ReadBoolean();
         reader.AlignStream(AlignType.Align4);
     }
     else
     {
         Endianess = false;
     }
 }
 public void Read(EndianReader reader)
 {
     MetadataSize = reader.ReadInt32();
     if (MetadataSize <= 0)
     {
         throw new Exception($"Invalid metadata size {MetadataSize}");
     }
     FileSize   = reader.ReadUInt32();
     Generation = (FileGeneration)reader.ReadInt32();
     if (!Enum.IsDefined(typeof(FileGeneration), Generation))
     {
         throw new Exception($"Unsupported file generation {Generation}'");
     }
     DataOffset = reader.ReadUInt32();
     if (HasEndian(Generation))
     {
         SwapEndianess = reader.ReadBoolean();
         reader.AlignStream();
     }
 }
Beispiel #3
0
 public void Read(EndianReader reader, BundleVersion generation)
 {
     if (HasHash(generation))
     {
         Hash.Read(reader);
         Crc = reader.ReadUInt32();
     }
     MinimumStreamedBytes = reader.ReadUInt32();
     HeaderSize           = reader.ReadInt32();
     NumberOfScenesToDownloadBeforeStreaming = reader.ReadInt32();
     Scenes = reader.ReadEndianArray <BundleScene>();
     if (HasCompleteFileSize(generation))
     {
         CompleteFileSize = reader.ReadUInt32();
     }
     if (HasUncompressedBlocksInfoSize(generation))
     {
         UncompressedBlocksInfoSize = (int)reader.ReadUInt32();
     }
     reader.AlignStream();
 }