TrinityCore
Loading...
Searching...
No Matches
AuctionHouseMgr Class Reference

#include <AuctionHouseMgr.h>

Classes

struct  PendingAuctionInfo
 
struct  PlayerPendingAuctions
 
struct  PlayerThrottleObject
 

Public Member Functions

 AuctionHouseMgr (AuctionHouseMgr const &)=delete
 
 AuctionHouseMgr (AuctionHouseMgr &&)=delete
 
AuctionHouseMgr & operator= (AuctionHouseMgr const &)=delete
 
AuctionHouseMgr & operator= (AuctionHouseMgr &&)=delete
 
AuctionHouseObject * GetAuctionsMap (uint32 factionTemplateId)
 
AuctionHouseObject * GetAuctionsById (uint32 auctionHouseId)
 
Item * GetAItem (ObjectGuid itemGuid)
 
void LoadAuctions ()
 
void AddAItem (Item *item)
 
bool RemoveAItem (ObjectGuid itemGuid, bool deleteItem=false, CharacterDatabaseTransaction *trans=nullptr)
 
bool PendingAuctionAdd (Player const *player, uint32 auctionHouseId, uint32 auctionId, uint64 deposit)
 
std::size_t PendingAuctionCount (Player const *player) const
 
void PendingAuctionProcess (Player *player)
 
void UpdatePendingAuctions ()
 
void Update ()
 
uint32 GenerateReplicationId ()
 
AuctionThrottleResult CheckThrottle (Player const *player, bool addonTainted, AuctionCommand command=AuctionCommand::SellItem)
 

Static Public Member Functions

static AuctionHouseMgr * instance ()
 
static std::string BuildItemAuctionMailSubject (AuctionMailType type, AuctionPosting const *auction)
 
static std::string BuildCommodityAuctionMailSubject (AuctionMailType type, uint32 itemId, uint32 itemCount)
 
static std::string BuildAuctionMailSubject (uint32 itemId, AuctionMailType type, uint32 auctionId, uint32 itemCount, uint32 battlePetSpeciesId, ItemContext context, std::vector< int32 > const &bonusListIds)
 
static std::string BuildAuctionWonMailBody (ObjectGuid guid, uint64 bid, uint64 buyout)
 
static std::string BuildAuctionSoldMailBody (ObjectGuid guid, uint64 bid, uint64 buyout, uint32 deposit, uint64 consignment)
 
static std::string BuildAuctionInvoiceMailBody (ObjectGuid guid, uint64 bid, uint64 buyout, uint32 deposit, uint64 consignment, uint32 moneyDelay, uint32 eta)
 
static uint64 GetCommodityAuctionDeposit (ItemTemplate const *item, Minutes time, uint32 quantity)
 
static uint64 GetItemAuctionDeposit (Player const *player, Item const *item, Minutes time)
 
static AuctionHouseEntry const * GetAuctionHouseEntry (uint32 factionTemplateId, uint32 *houseId)
 

Private Member Functions

 AuctionHouseMgr ()
 
 ~AuctionHouseMgr ()
 

Private Attributes

AuctionHouseObject mHordeAuctions
 
AuctionHouseObject mAllianceAuctions
 
AuctionHouseObject mNeutralAuctions
 
AuctionHouseObject mGoblinAuctions
 
std::unordered_map< ObjectGuid, PlayerPendingAuctions > _pendingAuctionsByPlayer
 
std::unordered_map< ObjectGuid, Item * > _itemsByGuid
 
uint32 _replicateIdGenerator
 
std::unordered_map< ObjectGuid, PlayerThrottleObject > _playerThrottleObjects
 
TimePoint _playerThrottleObjectsCleanupTime
 

Detailed Description

Definition at line 348 of file AuctionHouseMgr.h.

Constructor & Destructor Documentation

◆ AuctionHouseMgr() [1/3]

AuctionHouseMgr::AuctionHouseMgr ( )
private

Definition at line 387 of file AuctionHouseMgr.cpp.

References _playerThrottleObjectsCleanupTime, and GameTime::Now().

◆ ~AuctionHouseMgr()

AuctionHouseMgr::~AuctionHouseMgr ( )
private

Definition at line 392 of file AuctionHouseMgr.cpp.

References _itemsByGuid.

◆ AuctionHouseMgr() [2/3]

AuctionHouseMgr::AuctionHouseMgr ( AuctionHouseMgr const &  )
delete

◆ AuctionHouseMgr() [3/3]

AuctionHouseMgr::AuctionHouseMgr ( AuctionHouseMgr &&  )
delete

Member Function Documentation

◆ AddAItem()

void AuctionHouseMgr::AddAItem ( Item *  item)

◆ BuildAuctionInvoiceMailBody()

std::string AuctionHouseMgr::BuildAuctionInvoiceMailBody ( ObjectGuid  guid,
uint64  bid,
uint64  buyout,
uint32  deposit,
uint64  consignment,
uint32  moneyDelay,
uint32  eta 
)
static

◆ BuildAuctionMailSubject()

std::string AuctionHouseMgr::BuildAuctionMailSubject ( uint32  itemId,
AuctionMailType  type,
uint32  auctionId,
uint32  itemCount,
uint32  battlePetSpeciesId,
ItemContext  context,
std::vector< int32 > const &  bonusListIds 
)
static

◆ BuildAuctionSoldMailBody()

std::string AuctionHouseMgr::BuildAuctionSoldMailBody ( ObjectGuid  guid,
uint64  bid,
uint64  buyout,
uint32  deposit,
uint64  consignment 
)
static

◆ BuildAuctionWonMailBody()

std::string AuctionHouseMgr::BuildAuctionWonMailBody ( ObjectGuid  guid,
uint64  bid,
uint64  buyout 
)
static

◆ BuildCommodityAuctionMailSubject()

std::string AuctionHouseMgr::BuildCommodityAuctionMailSubject ( AuctionMailType  type,
uint32  itemId,
uint32  itemCount 
)
static

Definition at line 462 of file AuctionHouseMgr.cpp.

References BuildAuctionMailSubject(), and NONE.

Referenced by AuctionHouseObject::BuyCommodity().

◆ BuildItemAuctionMailSubject()

◆ CheckThrottle()

◆ GenerateReplicationId()

uint32 AuctionHouseMgr::GenerateReplicationId ( )

Definition at line 775 of file AuctionHouseMgr.cpp.

References _replicateIdGenerator.

◆ GetAItem()

Item * AuctionHouseMgr::GetAItem ( ObjectGuid  itemGuid)

Definition at line 439 of file AuctionHouseMgr.cpp.

References _itemsByGuid, and Trinity::Containers::MapGetValuePtr().

◆ GetAuctionHouseEntry()

◆ GetAuctionsById()

AuctionHouseObject * AuctionHouseMgr::GetAuctionsById ( uint32  auctionHouseId)

◆ GetAuctionsMap()

◆ GetCommodityAuctionDeposit()

uint64 AuctionHouseMgr::GetCommodityAuctionDeposit ( ItemTemplate const *  item,
Minutes  time,
uint32  quantity 
)
static

◆ GetItemAuctionDeposit()

uint64 AuctionHouseMgr::GetItemAuctionDeposit ( Player const *  player,
Item const *  item,
Minutes  time 
)
static

◆ instance()

AuctionHouseMgr * AuctionHouseMgr::instance ( )
static

Definition at line 398 of file AuctionHouseMgr.cpp.

References instance().

Referenced by instance().

◆ LoadAuctions()

◆ operator=() [1/2]

AuctionHouseMgr & AuctionHouseMgr::operator= ( AuctionHouseMgr &&  )
delete

◆ operator=() [2/2]

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

◆ PendingAuctionAdd()

bool AuctionHouseMgr::PendingAuctionAdd ( Player const *  player,
uint32  auctionHouseId,
uint32  auctionId,
uint64  deposit 
)

◆ PendingAuctionCount()

std::size_t AuctionHouseMgr::PendingAuctionCount ( Player const *  player) const

Definition at line 663 of file AuctionHouseMgr.cpp.

References _pendingAuctionsByPlayer, and BaseEntity::GetGUID().

Referenced by UpdatePendingAuctions().

◆ PendingAuctionProcess()

◆ RemoveAItem()

bool AuctionHouseMgr::RemoveAItem ( ObjectGuid  itemGuid,
bool  deleteItem = false,
CharacterDatabaseTransaction *  trans = nullptr 
)

Definition at line 623 of file AuctionHouseMgr.cpp.

References _itemsByGuid, ASSERT, and ITEM_REMOVED.

◆ Update()

◆ UpdatePendingAuctions()

Member Data Documentation

◆ _itemsByGuid

std::unordered_map<ObjectGuid, Item*> AuctionHouseMgr::_itemsByGuid
private

Definition at line 423 of file AuctionHouseMgr.h.

Referenced by AddAItem(), GetAItem(), LoadAuctions(), RemoveAItem(), and ~AuctionHouseMgr().

◆ _pendingAuctionsByPlayer

std::unordered_map<ObjectGuid, PlayerPendingAuctions> AuctionHouseMgr::_pendingAuctionsByPlayer
private

◆ _playerThrottleObjects

std::unordered_map<ObjectGuid, PlayerThrottleObject> AuctionHouseMgr::_playerThrottleObjects
private

Definition at line 427 of file AuctionHouseMgr.h.

Referenced by CheckThrottle(), and Update().

◆ _playerThrottleObjectsCleanupTime

TimePoint AuctionHouseMgr::_playerThrottleObjectsCleanupTime
private

Definition at line 428 of file AuctionHouseMgr.h.

Referenced by AuctionHouseMgr(), and Update().

◆ _replicateIdGenerator

uint32 AuctionHouseMgr::_replicateIdGenerator
private

Definition at line 425 of file AuctionHouseMgr.h.

Referenced by GenerateReplicationId().

◆ mAllianceAuctions

AuctionHouseObject AuctionHouseMgr::mAllianceAuctions
private

Definition at line 398 of file AuctionHouseMgr.h.

Referenced by GetAuctionsById(), GetAuctionsMap(), and Update().

◆ mGoblinAuctions

AuctionHouseObject AuctionHouseMgr::mGoblinAuctions
private

Definition at line 400 of file AuctionHouseMgr.h.

Referenced by GetAuctionsById(), and Update().

◆ mHordeAuctions

AuctionHouseObject AuctionHouseMgr::mHordeAuctions
private

Definition at line 397 of file AuctionHouseMgr.h.

Referenced by GetAuctionsById(), GetAuctionsMap(), and Update().

◆ mNeutralAuctions

AuctionHouseObject AuctionHouseMgr::mNeutralAuctions
private

Definition at line 399 of file AuctionHouseMgr.h.

Referenced by GetAuctionsById(), GetAuctionsMap(), and Update().


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