public override void Read()
        {
            Auctioneer         = _worldPacket.ReadPackedGuid();
            Offset             = _worldPacket.ReadUInt32();
            Unknown830         = _worldPacket.ReadInt8();
            TaintedBy.HasValue = _worldPacket.HasBit();

            uint sortCount = _worldPacket.ReadBits <uint>(2);

            for (var i = 0; i < sortCount; ++i)
            {
                Sorts[i] = new AuctionSortDef(_worldPacket);
            }

            BucketKey = new AuctionBucketKey(_worldPacket);

            if (TaintedBy.HasValue)
            {
                TaintedBy.Value.Read(_worldPacket);
            }
        }
        public override void Read()
        {
            Auctioneer = _worldPacket.ReadPackedGuid();
            Offset     = _worldPacket.ReadUInt32();
            MinLevel   = _worldPacket.ReadUInt8();
            MaxLevel   = _worldPacket.ReadUInt8();
            Filters    = (AuctionHouseFilterMask)_worldPacket.ReadUInt32();
            uint knownPetSize = _worldPacket.ReadUInt32();

            MaxPetLevel = _worldPacket.ReadInt8();
            for (var i = 0; i < knownPetSize; ++i)
            {
                KnownPets[i] = _worldPacket.ReadUInt8();
            }

            if (_worldPacket.HasBit())
            {
                TaintedBy.HasValue = true;
            }

            uint nameLength           = _worldPacket.ReadBits <uint>(8);
            uint itemClassFilterCount = _worldPacket.ReadBits <uint>(3);
            uint sortSize             = _worldPacket.ReadBits <uint>(2);

            for (var i = 0; i < sortSize; ++i)
            {
                Sorts[i] = new AuctionSortDef(_worldPacket);
            }

            if (TaintedBy.HasValue)
            {
                TaintedBy.Value.Read(_worldPacket);
            }

            Name = _worldPacket.ReadString(nameLength);
            for (var i = 0; i < itemClassFilterCount; ++i)// AuctionListFilterClass filterClass in ItemClassFilters)
            {
                ItemClassFilters[i] = new AuctionListFilterClass(_worldPacket);
            }
        }
        public override void Read()
        {
            Auctioneer         = _worldPacket.ReadPackedGuid();
            TaintedBy.HasValue = _worldPacket.HasBit();

            uint bucketKeysCount = _worldPacket.ReadBits <uint>(7);
            uint sortCount       = _worldPacket.ReadBits <uint>(2);

            for (var i = 0; i < sortCount; ++i)
            {
                Sorts[i] = new AuctionSortDef(_worldPacket);
            }

            if (TaintedBy.HasValue)
            {
                TaintedBy.Value.Read(_worldPacket);
            }

            for (var i = 0; i < bucketKeysCount; ++i)
            {
                BucketKeys[i] = new AuctionBucketKey(_worldPacket);
            }
        }
        public override void Read()
        {
            Auctioneer = _worldPacket.ReadPackedGuid();
            ItemID     = _worldPacket.ReadUInt32();
            SuffixItemNameDescriptionID = _worldPacket.ReadInt32();
            Offset = _worldPacket.ReadUInt32();

            if (_worldPacket.HasBit())
            {
                TaintedBy.HasValue = true;
            }

            uint sortCount = _worldPacket.ReadBits <uint>(2);

            for (var i = 0; i < sortCount; ++i)
            {
                Sorts[i] = new AuctionSortDef(_worldPacket);
            }

            if (TaintedBy.HasValue)
            {
                TaintedBy.Value.Read(_worldPacket);
            }
        }
        public override void Read()
        {
            Auctioneer         = _worldPacket.ReadPackedGuid();
            Offset             = _worldPacket.ReadUInt32();
            TaintedBy.HasValue = _worldPacket.HasBit();

            uint auctionIDCount = _worldPacket.ReadBits <uint>(7);
            uint sortCount      = _worldPacket.ReadBits <uint>(2);

            for (var i = 0; i < sortCount; ++i)
            {
                Sorts[i] = new AuctionSortDef(_worldPacket);
            }

            if (TaintedBy.HasValue)
            {
                TaintedBy.Value.Read(_worldPacket);
            }

            for (var i = 0; i < auctionIDCount; ++i)
            {
                AuctionItemIDs[i] = _worldPacket.ReadUInt32();
            }
        }