void ReadNativeContainerData() { // Must be a container type if (recordType != RecordTypes.Container) return; // Prepare stream MemoryStream stream = new MemoryStream(RecordData); BinaryReader reader = new BinaryReader(stream); // Read container data parsedData = new ContainerRecordData(); parsedData.unknown = reader.ReadBytes(RecordLength); // Close stream reader.Close(); }
void ReadNativeContainerData() { // Must be a container type if (recordType != RecordTypes.Container) { return; } // Prepare stream MemoryStream stream = new MemoryStream(RecordData); BinaryReader reader = new BinaryReader(stream); // Read container data parsedData = new ContainerRecordData(); parsedData.unknown = reader.ReadBytes(RecordLength); // Close stream reader.Close(); }
public override void Initialize(BinaryReader reader, RecordHeader header) { while (reader.BaseStream.Position < header.DataEndPos) { var type = (SubRecordType)reader.ReadInt32(); var size = reader.ReadInt32(); switch (type) { case SubRecordType.Id: name = reader.ReadString(size); break; case SubRecordType.Model: model = reader.ReadString(size); break; case SubRecordType.Name: fullName = reader.ReadString(size); break; case SubRecordType.Script: script = Script.Get(reader.ReadString(size)); break; case SubRecordType.ContainerData: data = new ContainerRecordData(reader); break; case SubRecordType.Flag: flags = (ContainerFlags)reader.ReadInt32(); break; case SubRecordType.InventoryItem: items.Add(new InventoryItem(reader)); break; } } }