AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
AuctionListItemsDelayEvent Class Reference

#include "AsyncAuctionListing.h"

Public Member Functions

 AuctionListItemsDelayEvent (uint32 msTimer, ObjectGuid playerguid, ObjectGuid creatureguid, std::string searchedname, uint32 listfrom, uint8 levelmin, uint8 levelmax, uint8 usable, uint32 auctionSlotID, uint32 auctionMainCategory, uint32 auctionSubCategory, uint32 quality, uint8 getAll, AuctionSortOrderVector sortOrder)
 
bool Execute ()
 

Public Attributes

uint32 _msTimer
 
ObjectGuid _playerguid
 
ObjectGuid _creatureguid
 
std::string _searchedname
 
uint32 _listfrom
 
uint8 _levelmin
 
uint8 _levelmax
 
uint8 _usable
 
uint32 _auctionSlotID
 
uint32 _auctionMainCategory
 
uint32 _auctionSubCategory
 
uint32 _quality
 
uint8 _getAll
 
AuctionSortOrderVector _sortOrder
 

Detailed Description

Constructor & Destructor Documentation

◆ AuctionListItemsDelayEvent()

AuctionListItemsDelayEvent::AuctionListItemsDelayEvent ( uint32  msTimer,
ObjectGuid  playerguid,
ObjectGuid  creatureguid,
std::string  searchedname,
uint32  listfrom,
uint8  levelmin,
uint8  levelmax,
uint8  usable,
uint32  auctionSlotID,
uint32  auctionMainCategory,
uint32  auctionSubCategory,
uint32  quality,
uint8  getAll,
AuctionSortOrderVector  sortOrder 
)
inline
45 :
46 _msTimer(msTimer), _playerguid(playerguid), _creatureguid(creatureguid), _searchedname(searchedname), _listfrom(listfrom), _levelmin(levelmin), _levelmax(levelmax),_usable(usable),
47 _auctionSlotID(auctionSlotID), _auctionMainCategory(auctionMainCategory), _auctionSubCategory(auctionSubCategory), _quality(quality), _getAll(getAll), _sortOrder(sortOrder) { }
uint32 _listfrom
Definition: AsyncAuctionListing.h:55
uint8 _usable
Definition: AsyncAuctionListing.h:58
uint8 _levelmax
Definition: AsyncAuctionListing.h:57
ObjectGuid _playerguid
Definition: AsyncAuctionListing.h:52
ObjectGuid _creatureguid
Definition: AsyncAuctionListing.h:53
std::string _searchedname
Definition: AsyncAuctionListing.h:54
uint32 _quality
Definition: AsyncAuctionListing.h:62
uint32 _auctionSlotID
Definition: AsyncAuctionListing.h:59
uint32 _msTimer
Definition: AsyncAuctionListing.h:51
uint8 _levelmin
Definition: AsyncAuctionListing.h:56
uint32 _auctionMainCategory
Definition: AsyncAuctionListing.h:60
AuctionSortOrderVector _sortOrder
Definition: AsyncAuctionListing.h:64
uint32 _auctionSubCategory
Definition: AsyncAuctionListing.h:61
uint8 _getAll
Definition: AsyncAuctionListing.h:63

Member Function Documentation

◆ Execute()

bool AuctionListItemsDelayEvent::Execute ( )
40{
42 if (!plr || !plr->IsInWorld() || plr->IsDuringRemoveFromWorld() || plr->IsBeingTeleported())
43 return true;
44
46 if (!creature)
47 return true;
48
49 AuctionHouseObject* auctionHouse = sAuctionMgr->GetAuctionsMap(creature->GetFaction());
50
51 WorldPacket data(SMSG_AUCTION_LIST_RESULT, (4 + 4 + 4) + 50 * ((16 + MAX_INSPECTED_ENCHANTMENT_SLOT * 3) * 4));
52 uint32 count = 0;
53 uint32 totalcount = 0;
54 data << (uint32) 0;
55
56 // converting string that we try to find to lower case
57 std::wstring wsearchedname;
58 if (!Utf8toWStr(_searchedname, wsearchedname))
59 return true;
60
61 wstrToLower(wsearchedname);
62
63 bool result = auctionHouse->BuildListAuctionItems(data, plr,
64 wsearchedname, _listfrom, _levelmin, _levelmax, _usable,
66 count, totalcount, _getAll, _sortOrder);
67
68 if (!result)
69 return false;
70
71 data.put<uint32>(0, count);
72 data << (uint32) totalcount;
73 data << (uint32) 300; // clientside search cooldown [ms] (gray search button)
74 plr->GetSession()->SendPacket(&data);
75
76 return true;
77}
std::uint32_t uint32
Definition: Define.h:108
void wstrToLower(std::wstring &str)
Definition: Util.cpp:383
bool Utf8toWStr(char const *utf8str, size_t csize, wchar_t *wstr, size_t &wsize)
Definition: Util.cpp:282
#define sAuctionMgr
Definition: AuctionHouseMgr.h:228
@ MAX_INSPECTED_ENCHANTMENT_SLOT
Definition: Item.h:170
@ UNIT_NPC_FLAG_AUCTIONEER
Definition: Unit.h:537
@ SMSG_AUCTION_LIST_RESULT
Definition: Opcodes.h:634
Player * FindPlayer(ObjectGuid const guid)
Definition: ObjectAccessor.cpp:250
Definition: AuctionHouseMgr.h:130
bool BuildListAuctionItems(WorldPacket &data, Player *player, std::wstring const &searchedname, uint32 listfrom, uint8 levelmin, uint8 levelmax, uint8 usable, uint32 inventoryType, uint32 itemClass, uint32 itemSubClass, uint32 quality, uint32 &count, uint32 &totalcount, uint8 getAll, AuctionSortOrderVector const &sortOrder)
Definition: AuctionHouseMgr.cpp:727
Definition: Creature.h:46
bool IsInWorld() const
Definition: Object.h:101
Definition: Player.h:1046
WorldSession * GetSession() const
Definition: Player.h:1948
Creature * GetNPCIfCanInteractWith(ObjectGuid guid, uint32 npcflagmask)
Definition: Player.cpp:2050
bool IsBeingTeleported() const
Definition: Player.h:2041
uint32 GetFaction() const
Definition: Unit.h:1495
bool IsDuringRemoveFromWorld() const
Definition: Unit.h:2396
Definition: WorldPacket.h:27
void SendPacket(WorldPacket const *packet)
Send a packet to the client.
Definition: WorldSession.cpp:207

References _auctionMainCategory, _auctionSlotID, _auctionSubCategory, _creatureguid, _getAll, _levelmax, _levelmin, _listfrom, _playerguid, _quality, _searchedname, _sortOrder, _usable, AuctionHouseObject::BuildListAuctionItems(), ObjectAccessor::FindPlayer(), Unit::GetFaction(), Player::GetNPCIfCanInteractWith(), Player::GetSession(), Player::IsBeingTeleported(), Unit::IsDuringRemoveFromWorld(), Object::IsInWorld(), MAX_INSPECTED_ENCHANTMENT_SLOT, ByteBuffer::put(), sAuctionMgr, WorldSession::SendPacket(), SMSG_AUCTION_LIST_RESULT, UNIT_NPC_FLAG_AUCTIONEER, Utf8toWStr(), and wstrToLower().

Member Data Documentation

◆ _auctionMainCategory

uint32 AuctionListItemsDelayEvent::_auctionMainCategory

Referenced by Execute().

◆ _auctionSlotID

uint32 AuctionListItemsDelayEvent::_auctionSlotID

Referenced by Execute().

◆ _auctionSubCategory

uint32 AuctionListItemsDelayEvent::_auctionSubCategory

Referenced by Execute().

◆ _creatureguid

ObjectGuid AuctionListItemsDelayEvent::_creatureguid

Referenced by Execute().

◆ _getAll

uint8 AuctionListItemsDelayEvent::_getAll

Referenced by Execute().

◆ _levelmax

uint8 AuctionListItemsDelayEvent::_levelmax

Referenced by Execute().

◆ _levelmin

uint8 AuctionListItemsDelayEvent::_levelmin

Referenced by Execute().

◆ _listfrom

uint32 AuctionListItemsDelayEvent::_listfrom

Referenced by Execute().

◆ _msTimer

uint32 AuctionListItemsDelayEvent::_msTimer

◆ _playerguid

ObjectGuid AuctionListItemsDelayEvent::_playerguid

Referenced by Execute().

◆ _quality

uint32 AuctionListItemsDelayEvent::_quality

Referenced by Execute().

◆ _searchedname

std::string AuctionListItemsDelayEvent::_searchedname

Referenced by Execute().

◆ _sortOrder

AuctionSortOrderVector AuctionListItemsDelayEvent::_sortOrder

Referenced by Execute().

◆ _usable

uint8 AuctionListItemsDelayEvent::_usable

Referenced by Execute().