public void Read(BinaryParser input)
{
// binaryHeaderEnum has already been read
_objectId = input.ReadInt32();
_name = input.ReadString();
_numMembers = input.ReadInt32();
_memberNames = new string[_numMembers];
_binaryTypeEnumA = new BinaryTypeEnum[_numMembers];
_typeInformationA = new object[_numMembers];
_memberAssemIds = new int[_numMembers];
for (int i = 0; i < _numMembers; i++)
{
_memberNames[i] = input.ReadString();
}
for (int i = 0; i < _numMembers; i++)
{
_binaryTypeEnumA[i] = (BinaryTypeEnum)input.ReadByte();
}
for (int i = 0; i < _numMembers; i++)
{
if (_binaryTypeEnumA[i] != BinaryTypeEnum.ObjectUrt && _binaryTypeEnumA[i] != BinaryTypeEnum.ObjectUser)
{
_typeInformationA[i] = BinaryTypeConverter.ReadTypeInfo(_binaryTypeEnumA[i], input, out _memberAssemIds[i]);
}
else
{
BinaryTypeConverter.ReadTypeInfo(_binaryTypeEnumA[i], input, out _memberAssemIds[i]);
}
}
if (_binaryHeaderEnum == BinaryHeaderEnum.ObjectWithMapTypedAssemId)
{
_assemId = input.ReadInt32();
}
}