public List <string> packedItems = new List <string>(); // Display purposes public static CBaseQualities read(BinaryReader binaryReader) { CBaseQualities newObj = new CBaseQualities(); var startPosition = binaryReader.BaseStream.Position; newObj.header = binaryReader.ReadUInt32(); newObj._weenie_type = (WeenieType)binaryReader.ReadUInt32(); if ((newObj.header & (uint)BaseQualitiesPackHeader.Packed_IntStats) != 0) { newObj._intStatsTable = PackableHashTable <STypeInt, int> .read(binaryReader); newObj.packedItems.Add(BaseQualitiesPackHeader.Packed_IntStats.ToString()); } if ((newObj.header & (uint)BaseQualitiesPackHeader.Packed_Int64Stats) != 0) { newObj._int64StatsTable = PackableHashTable <STypeInt64, long> .read(binaryReader); newObj.packedItems.Add(BaseQualitiesPackHeader.Packed_Int64Stats.ToString()); } if ((newObj.header & (uint)BaseQualitiesPackHeader.Packed_BoolStats) != 0) { newObj._boolStatsTable = PackableHashTable <STypeBool, int> .read(binaryReader); newObj.packedItems.Add(BaseQualitiesPackHeader.Packed_BoolStats.ToString()); } if ((newObj.header & (uint)BaseQualitiesPackHeader.Packed_FloatStats) != 0) { newObj._floatStatsTable = PackableHashTable <STypeFloat, double> .read(binaryReader); newObj.packedItems.Add(BaseQualitiesPackHeader.Packed_FloatStats.ToString()); } if ((newObj.header & (uint)BaseQualitiesPackHeader.Packed_StringStats) != 0) { newObj._strStatsTable = PackableHashTable <STypeString, PStringChar> .read(binaryReader); newObj.packedItems.Add(BaseQualitiesPackHeader.Packed_StringStats.ToString()); } if ((newObj.header & (uint)BaseQualitiesPackHeader.Packed_DataIDStats) != 0) { newObj._didStatsTable = PackableHashTable <STypeDID, uint> .read(binaryReader); newObj.packedItems.Add(BaseQualitiesPackHeader.Packed_DataIDStats.ToString()); } if ((newObj.header & (uint)BaseQualitiesPackHeader.Packed_IIDStats) != 0) { newObj._iidStatsTable = PackableHashTable <STypeIID, uint> .read(binaryReader); newObj.packedItems.Add(BaseQualitiesPackHeader.Packed_IIDStats.ToString()); } if ((newObj.header & (uint)BaseQualitiesPackHeader.Packed_PositionHashTable) != 0) { newObj._posStatsTable = PackableHashTable <STypePosition, Position> .read(binaryReader); newObj.packedItems.Add(BaseQualitiesPackHeader.Packed_PositionHashTable.ToString()); } newObj.Length = (int)(binaryReader.BaseStream.Position - startPosition); return(newObj); }