protected override void Parse(BigEndianReader reader) { reader.ReadByte(); // ID reader.ReadInt16(); // Size place holder _DataType = (WorldObjectType)reader.ReadByte(); _Serial = reader.ReadUInt32(); _ObjectID = reader.ReadInt16(); _ObjectIDOffset = reader.ReadByte(); _Amount = reader.ReadInt16(); reader.ReadInt16(); // Amount again? _X = reader.ReadInt16(); _Y = reader.ReadInt16(); _Z = reader.ReadSByte(); _LightLevel = reader.ReadByte(); _Hue = reader.ReadInt16(); byte flags = reader.ReadByte(); if ((flags & 0x20) > 0) { _HasProperties = true; } else { _HasProperties = false; } if ((flags & 0x80) > 0) { _IsVisible = true; } else { _IsVisible = false; } _Access = (WorldObjectAccess)reader.ReadInt16(); }
protected override void Parse( BigEndianReader reader ) { reader.ReadByte(); // ID reader.ReadInt16(); // Size place holder _DataType = (WorldObjectType) reader.ReadByte(); _Serial = reader.ReadUInt32(); _ObjectID = reader.ReadInt16(); _ObjectIDOffset = reader.ReadByte(); _Amount = reader.ReadInt16(); reader.ReadInt16(); // Amount again? _X = reader.ReadInt16(); _Y = reader.ReadInt16(); _Z = reader.ReadSByte(); _LightLevel = reader.ReadByte(); _Hue = reader.ReadInt16(); byte flags = reader.ReadByte(); if ( ( flags & 0x20 ) > 0 ) _HasProperties = true; else _HasProperties = false; if ( ( flags & 0x80 ) > 0 ) _IsVisible = true; else _IsVisible = false; _Access = (WorldObjectAccess) reader.ReadInt16(); }