public void Read(SerializedReader reader) { if (IsFormat5(reader.Generation)) { Version = reader.ReadUInt16(); Level = reader.ReadByte(); TypeFlags = reader.ReadByte(); TypeStrOffset = reader.ReadUInt32(); NameStrOffset = reader.ReadUInt32(); ByteSize = reader.ReadInt32(); Index = reader.ReadInt32(); MetaFlag = (TransferMetaFlags)reader.ReadUInt32(); if (HasRefTypeHash(reader.Generation)) { RefTypeHash = reader.ReadUInt64(); } } else { Type = reader.ReadStringZeroTerm(); Name = reader.ReadStringZeroTerm(); ByteSize = reader.ReadInt32(); Index = reader.ReadInt32(); TypeFlags = reader.ReadInt32(); Version = reader.ReadInt32(); MetaFlag = (TransferMetaFlags)reader.ReadUInt32(); } }