Beispiel #1
0
        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();
        }
Beispiel #2
0
        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();
        }