TrinityCore
AuctionHouseObject Class Reference

#include <AuctionHouseMgr.h>

Classes

struct  PlayerReplicateThrottleData
 

Public Member Functions

 AuctionHouseObject (uint32 auctionHouseId)
 
 AuctionHouseObject (AuctionHouseObject const &)=delete
 
 AuctionHouseObject (AuctionHouseObject &&)=delete
 
AuctionHouseObjectoperator= (AuctionHouseObject const &)=delete
 
AuctionHouseObjectoperator= (AuctionHouseObject &&)=delete
 
 ~AuctionHouseObject ()
 
uint32 GetAuctionHouseId () const
 
std::map< uint32, AuctionPosting >::iterator GetAuctionsBegin ()
 
std::map< uint32, AuctionPosting >::iterator GetAuctionsEnd ()
 
AuctionPostingGetAuction (uint32 auctionId)
 
void AddAuction (CharacterDatabaseTransaction trans, AuctionPosting auction)
 
void RemoveAuction (CharacterDatabaseTransaction trans, AuctionPosting *auction, std::map< uint32, AuctionPosting >::iterator *auctionItr=nullptr)
 
void Update ()
 
void BuildListBuckets (WorldPackets::AuctionHouse::AuctionListBucketsResult &listBucketsResult, Player const *player, std::wstring const &name, uint8 minLevel, uint8 maxLevel, EnumFlag< AuctionHouseFilterMask > filters, Optional< AuctionSearchClassFilters > const &classFilters, std::span< uint8 const > knownPetBits, uint8 maxKnownPetLevel, uint32 offset, std::span< WorldPackets::AuctionHouse::AuctionSortDef const > sorts) const
 
void BuildListBuckets (WorldPackets::AuctionHouse::AuctionListBucketsResult &listBucketsResult, Player const *player, std::span< WorldPackets::AuctionHouse::AuctionBucketKey const > keys, std::span< WorldPackets::AuctionHouse::AuctionSortDef const > sorts) const
 
void BuildListBiddedItems (WorldPackets::AuctionHouse::AuctionListBiddedItemsResult &listBiddedItemsResult, Player const *player, uint32 offset, std::span< WorldPackets::AuctionHouse::AuctionSortDef const > sorts) const
 
void BuildListAuctionItems (WorldPackets::AuctionHouse::AuctionListItemsResult &listItemsResult, Player const *player, AuctionsBucketKey const &bucketKey, uint32 offset, std::span< WorldPackets::AuctionHouse::AuctionSortDef const > sorts) const
 
void BuildListAuctionItems (WorldPackets::AuctionHouse::AuctionListItemsResult &listItemsResult, Player const *player, uint32 itemId, uint32 offset, std::span< WorldPackets::AuctionHouse::AuctionSortDef const > sorts) const
 
void BuildListOwnedItems (WorldPackets::AuctionHouse::AuctionListOwnedItemsResult &listOwnedItemsResult, Player const *player, uint32 offset, std::span< WorldPackets::AuctionHouse::AuctionSortDef const > sorts) const
 
void BuildReplicate (WorldPackets::AuctionHouse::AuctionReplicateResponse &replicateResponse, Player *player, uint32 global, uint32 cursor, uint32 tombstone, uint32 count)
 
uint64 CalculateAuctionHouseCut (uint64 bidAmount) const
 
CommodityQuote const * CreateCommodityQuote (Player const *player, uint32 itemId, uint32 quantity)
 
void CancelCommodityQuote (ObjectGuid guid)
 
bool BuyCommodity (CharacterDatabaseTransaction trans, Player *player, uint32 itemId, uint32 quantity, Milliseconds delayForNextAction)
 
void SendAuctionOutbid (AuctionPosting const *auction, ObjectGuid newBidder, uint64 newBidAmount, CharacterDatabaseTransaction trans) const
 
void SendAuctionWon (AuctionPosting const *auction, Player *bidder, CharacterDatabaseTransaction trans) const
 
void SendAuctionSold (AuctionPosting const *auction, Player *owner, CharacterDatabaseTransaction trans) const
 
void SendAuctionExpired (AuctionPosting const *auction, CharacterDatabaseTransaction trans) const
 
void SendAuctionRemoved (AuctionPosting const *auction, Player *owner, CharacterDatabaseTransaction trans) const
 
void SendAuctionCancelledToBidder (AuctionPosting const *auction, CharacterDatabaseTransaction trans) const
 
void SendAuctionInvoice (AuctionPosting const *auction, Player *owner, CharacterDatabaseTransaction trans) const
 

Private Attributes

AuctionHouseEntry const * _auctionHouse
 
std::map< uint32, AuctionPosting_itemsByAuctionId
 
std::unordered_map< uint32, AuctionPosting_soldItemsById
 
std::map< AuctionsBucketKey, AuctionsBucketData_buckets
 
std::unordered_map< ObjectGuid, CommodityQuote_commodityQuotes
 
std::unordered_multimap< ObjectGuid, uint32_playerOwnedAuctions
 
std::unordered_multimap< ObjectGuid, uint32_playerBidderAuctions
 
std::unordered_map< ObjectGuid, PlayerReplicateThrottleData_replicateThrottleMap
 

Detailed Description

Definition at line 264 of file AuctionHouseMgr.h.

Constructor & Destructor Documentation

◆ AuctionHouseObject() [1/3]

AuctionHouseObject::AuctionHouseObject ( uint32  auctionHouseId)
explicit

Definition at line 847 of file AuctionHouseMgr.cpp.

◆ AuctionHouseObject() [2/3]

AuctionHouseObject::AuctionHouseObject ( AuctionHouseObject const &  )
delete

◆ AuctionHouseObject() [3/3]

AuctionHouseObject::AuctionHouseObject ( AuctionHouseObject &&  )
delete

◆ ~AuctionHouseObject()

AuctionHouseObject::~AuctionHouseObject ( )
default

Member Function Documentation

◆ AddAuction()

void AuctionHouseObject::AddAuction ( CharacterDatabaseTransaction  trans,
AuctionPosting  auction 
)

Definition at line 863 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ BuildListAuctionItems() [1/2]

void AuctionHouseObject::BuildListAuctionItems ( WorldPackets::AuctionHouse::AuctionListItemsResult listItemsResult,
Player const *  player,
AuctionsBucketKey const &  bucketKey,
uint32  offset,
std::span< WorldPackets::AuctionHouse::AuctionSortDef const >  sorts 
) const

Definition at line 1348 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ BuildListAuctionItems() [2/2]

void AuctionHouseObject::BuildListAuctionItems ( WorldPackets::AuctionHouse::AuctionListItemsResult listItemsResult,
Player const *  player,
uint32  itemId,
uint32  offset,
std::span< WorldPackets::AuctionHouse::AuctionSortDef const >  sorts 
) const

Definition at line 1375 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:

◆ BuildListBiddedItems()

void AuctionHouseObject::BuildListBiddedItems ( WorldPackets::AuctionHouse::AuctionListBiddedItemsResult listBiddedItemsResult,
Player const *  player,
uint32  offset,
std::span< WorldPackets::AuctionHouse::AuctionSortDef const >  sorts 
) const

Definition at line 1326 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ BuildListBuckets() [1/2]

void AuctionHouseObject::BuildListBuckets ( WorldPackets::AuctionHouse::AuctionListBucketsResult listBucketsResult,
Player const *  player,
std::span< WorldPackets::AuctionHouse::AuctionBucketKey const >  keys,
std::span< WorldPackets::AuctionHouse::AuctionSortDef const >  sorts 
) const

Definition at line 1300 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:

◆ BuildListBuckets() [2/2]

void AuctionHouseObject::BuildListBuckets ( WorldPackets::AuctionHouse::AuctionListBucketsResult listBucketsResult,
Player const *  player,
std::wstring const &  name,
uint8  minLevel,
uint8  maxLevel,
EnumFlag< AuctionHouseFilterMask filters,
Optional< AuctionSearchClassFilters > const &  classFilters,
std::span< uint8 const >  knownPetBits,
uint8  maxKnownPetLevel,
uint32  offset,
std::span< WorldPackets::AuctionHouse::AuctionSortDef const >  sorts 
) const

Definition at line 1158 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ BuildListOwnedItems()

void AuctionHouseObject::BuildListOwnedItems ( WorldPackets::AuctionHouse::AuctionListOwnedItemsResult listOwnedItemsResult,
Player const *  player,
uint32  offset,
std::span< WorldPackets::AuctionHouse::AuctionSortDef const >  sorts 
) const

Definition at line 1405 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ BuildReplicate()

void AuctionHouseObject::BuildReplicate ( WorldPackets::AuctionHouse::AuctionReplicateResponse replicateResponse,
Player player,
uint32  global,
uint32  cursor,
uint32  tombstone,
uint32  count 
)

Definition at line 1427 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ BuyCommodity()

bool AuctionHouseObject::BuyCommodity ( CharacterDatabaseTransaction  trans,
Player player,
uint32  itemId,
uint32  quantity,
Milliseconds  delayForNextAction 
)

Definition at line 1520 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CalculateAuctionHouseCut()

uint64 AuctionHouseObject::CalculateAuctionHouseCut ( uint64  bidAmount) const

Definition at line 1468 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CancelCommodityQuote()

void AuctionHouseObject::CancelCommodityQuote ( ObjectGuid  guid)

Definition at line 1515 of file AuctionHouseMgr.cpp.

+ Here is the caller graph for this function:

◆ CreateCommodityQuote()

CommodityQuote const * AuctionHouseObject::CreateCommodityQuote ( Player const *  player,
uint32  itemId,
uint32  quantity 
)

Definition at line 1473 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetAuction()

AuctionPosting * AuctionHouseObject::GetAuction ( uint32  auctionId)

Definition at line 858 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetAuctionHouseId()

uint32 AuctionHouseObject::GetAuctionHouseId ( ) const

Definition at line 853 of file AuctionHouseMgr.cpp.

+ Here is the caller graph for this function:

◆ GetAuctionsBegin()

std::map< uint32, AuctionPosting >::iterator AuctionHouseObject::GetAuctionsBegin ( )
inline

Definition at line 286 of file AuctionHouseMgr.h.

+ Here is the caller graph for this function:

◆ GetAuctionsEnd()

std::map< uint32, AuctionPosting >::iterator AuctionHouseObject::GetAuctionsEnd ( )
inline

Definition at line 287 of file AuctionHouseMgr.h.

+ Here is the caller graph for this function:

◆ operator=() [1/2]

AuctionHouseObject & AuctionHouseObject::operator= ( AuctionHouseObject &&  )
delete

◆ operator=() [2/2]

AuctionHouseObject & AuctionHouseObject::operator= ( AuctionHouseObject const &  )
delete

◆ RemoveAuction()

void AuctionHouseObject::RemoveAuction ( CharacterDatabaseTransaction  trans,
AuctionPosting auction,
std::map< uint32, AuctionPosting >::iterator *  auctionItr = nullptr 
)

Definition at line 1010 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendAuctionCancelledToBidder()

void AuctionHouseObject::SendAuctionCancelledToBidder ( AuctionPosting const *  auction,
CharacterDatabaseTransaction  trans 
) const

Definition at line 1904 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendAuctionExpired()

void AuctionHouseObject::SendAuctionExpired ( AuctionPosting const *  auction,
CharacterDatabaseTransaction  trans 
) const

Definition at line 1861 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendAuctionInvoice()

void AuctionHouseObject::SendAuctionInvoice ( AuctionPosting const *  auction,
Player owner,
CharacterDatabaseTransaction  trans 
) const

Definition at line 1915 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:

◆ SendAuctionOutbid()

void AuctionHouseObject::SendAuctionOutbid ( AuctionPosting const *  auction,
ObjectGuid  newBidder,
uint64  newBidAmount,
CharacterDatabaseTransaction  trans 
) const

Definition at line 1735 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendAuctionRemoved()

void AuctionHouseObject::SendAuctionRemoved ( AuctionPosting const *  auction,
Player owner,
CharacterDatabaseTransaction  trans 
) const

Definition at line 1889 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendAuctionSold()

void AuctionHouseObject::SendAuctionSold ( AuctionPosting const *  auction,
Player owner,
CharacterDatabaseTransaction  trans 
) const

Definition at line 1834 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SendAuctionWon()

void AuctionHouseObject::SendAuctionWon ( AuctionPosting const *  auction,
Player bidder,
CharacterDatabaseTransaction  trans 
) const

Definition at line 1759 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Update()

void AuctionHouseObject::Update ( )
  • Handle expired auctions
  • filter auctions expired on next update
  • Either cancel the auction if there was no bidder
  • Or perform the transaction

Definition at line 1090 of file AuctionHouseMgr.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ _auctionHouse

AuctionHouseEntry const* AuctionHouseObject::_auctionHouse
private

Definition at line 330 of file AuctionHouseMgr.h.

◆ _buckets

std::map<AuctionsBucketKey, AuctionsBucketData> AuctionHouseObject::_buckets
private

Definition at line 334 of file AuctionHouseMgr.h.

◆ _commodityQuotes

std::unordered_map<ObjectGuid, CommodityQuote> AuctionHouseObject::_commodityQuotes
private

Definition at line 335 of file AuctionHouseMgr.h.

◆ _itemsByAuctionId

std::map<uint32, AuctionPosting> AuctionHouseObject::_itemsByAuctionId
private

Definition at line 332 of file AuctionHouseMgr.h.

◆ _playerBidderAuctions

std::unordered_multimap<ObjectGuid, uint32> AuctionHouseObject::_playerBidderAuctions
private

Definition at line 338 of file AuctionHouseMgr.h.

◆ _playerOwnedAuctions

std::unordered_multimap<ObjectGuid, uint32> AuctionHouseObject::_playerOwnedAuctions
private

Definition at line 337 of file AuctionHouseMgr.h.

◆ _replicateThrottleMap

std::unordered_map<ObjectGuid, PlayerReplicateThrottleData> AuctionHouseObject::_replicateThrottleMap
private

Definition at line 342 of file AuctionHouseMgr.h.

◆ _soldItemsById

std::unordered_map<uint32, AuctionPosting> AuctionHouseObject::_soldItemsById
private

Definition at line 333 of file AuctionHouseMgr.h.


The documentation for this class was generated from the following files: