AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "LFGQueue.h"
Public Member Functions | |
void | AddToQueue (ObjectGuid guid, bool failedProposal=false) |
void | RemoveFromQueue (ObjectGuid guid, bool partial=false) |
void | AddQueueData (ObjectGuid guid, time_t joinTime, LfgDungeonSet const &dungeons, LfgRolesMap const &rolesMap) |
void | RemoveQueueData (ObjectGuid guid) |
void | UpdateWaitTimeAvg (int32 waitTime, uint32 dungeonId) |
void | UpdateWaitTimeTank (int32 waitTime, uint32 dungeonId) |
void | UpdateWaitTimeHealer (int32 waitTime, uint32 dungeonId) |
void | UpdateWaitTimeDps (int32 waitTime, uint32 dungeonId) |
void | UpdateQueueTimers (uint32 diff) |
time_t | GetJoinTime (ObjectGuid guid) |
uint8 | FindGroups () |
Private Member Functions | |
void | SetQueueUpdateData (std::string const &strGuids, LfgRolesMap const &proposalRoles) |
void | AddToNewQueue (ObjectGuid guid, bool front) |
void | RemoveFromNewQueue (ObjectGuid guid) |
void | RemoveFromCompatibles (ObjectGuid guid) |
void | AddToCompatibles (Lfg5Guids const &key) |
uint32 | FindBestCompatibleInQueue (LfgQueueDataContainer::iterator itrQueue) |
void | UpdateBestCompatibleInQueue (LfgQueueDataContainer::iterator itrQueue, Lfg5Guids const &key) |
LfgCompatibility | FindNewGroups (const ObjectGuid &newGuid) |
LfgCompatibility | CheckCompatibility (Lfg5Guids const &checkWith, const ObjectGuid &newGuid, uint64 &foundMask, uint32 &foundCount, const std::set< Lfg5Guids > ¤tCompatibles) |
Stores all data related to queue
void lfg::LFGQueue::AddQueueData | ( | ObjectGuid | guid, |
time_t | joinTime, | ||
LfgDungeonSet const & | dungeons, | ||
LfgRolesMap const & | rolesMap | ||
) |
References AddToQueue(), LOG_DEBUG, QueueDataStore, and ObjectGuid::ToString().
Referenced by lfg::LFGMgr::JoinLfg(), and lfg::LFGMgr::UpdateRoleCheck().
|
private |
References CompatibleTempList, LOG_DEBUG, and lfg::Lfg5Guids::toString().
Referenced by CheckCompatibility().
|
private |
References LOG_DEBUG, newToQueueStore, restoredAfterProposal, and ObjectGuid::ToString().
Referenced by AddToQueue().
void lfg::LFGQueue::AddToQueue | ( | ObjectGuid | guid, |
bool | failedProposal = false |
||
) |
References AddToNewQueue(), LOG_DEBUG, LOG_ERROR, QueueDataStore, and ObjectGuid::ToString().
Referenced by AddQueueData(), lfg::LFGMgr::RemoveProposal(), and UpdateQueueTimers().
|
private |
References lfg::LfgProposalPlayer::accept, lfg::Lfg5Guids::addRoles(), AddToCompatibles(), lfg::LfgProposal::cancelTime, lfg::LFGMgr::CheckGroupRoles(), ObjectGuid::Clear(), lfg::LfgProposal::dungeonId, lfg::LfgQueueData::dungeons, ObjectGuid::Empty, lfg::LfgProposal::encounters, ObjectAccessor::FindConnectedPlayer(), lfg::Lfg5Guids::force_insert_front(), lfg::Lfg5Guids::front(), GameTime::GetGameTime(), lfg::LfgProposalPlayer::group, lfg::LfgProposal::group, lfg::Lfg5Guids::guids, lfg::Lfg5Guids::insert(), lfg::LfgProposal::isNew, lfg::LfgProposal::leader, lfg::LFG_ANSWER_AGREE, lfg::LFG_COMPATIBILITY_PENDING, lfg::LFG_COMPATIBLES_MATCH, lfg::LFG_COMPATIBLES_WITH_LESS_PLAYERS, lfg::LFG_INCOMPATIBLES_HAS_IGNORES, lfg::LFG_INCOMPATIBLES_MULTIPLE_LFG_GROUPS, lfg::LFG_INCOMPATIBLES_NO_DUNGEONS, lfg::LFG_INCOMPATIBLES_NO_ROLES, lfg::LFG_INCOMPATIBLES_TOO_MUCH_PLAYERS, lfg::LFG_PROPOSAL_INITIATING, lfg::LFG_TIME_PROPOSAL, LOG_DEBUG, LOG_ERROR, MAXGROUPSIZE, lfg::PLAYER_ROLE_LEADER, lfg::LfgProposal::players, QueueDataStore, lfg::LfgProposal::queues, RemoveFromQueue(), lfg::LfgProposalPlayer::role, lfg::LfgQueueData::roles, Acore::Containers::SelectRandomContainerElement(), lfg::Lfg5Guids::size(), sLFGDungeonStore, sLFGMgr, lfg::LfgProposal::state, lfg::Lfg5Guids::toString(), ObjectGuid::ToString(), UpdateBestCompatibleInQueue(), and urand().
Referenced by FindNewGroups().
|
private |
References CompatibleList, and UpdateBestCompatibleInQueue().
Referenced by UpdateQueueTimers().
uint8 lfg::LFGQueue::FindGroups | ( | ) |
References CompatibleList, CompatibleTempList, FindNewGroups(), LOG_DEBUG, newToQueueStore, RemoveFromNewQueue(), restoredAfterProposal, and ObjectGuid::ToString().
|
private |
References CheckCompatibility(), CompatibleList, lfg::LFG_COMPATIBILITY_PENDING, lfg::LFG_COMPATIBLES_MATCH, lfg::LFG_COMPATIBLES_WITH_LESS_PLAYERS, LOG_DEBUG, and ObjectGuid::ToString().
Referenced by FindGroups().
time_t lfg::LFGQueue::GetJoinTime | ( | ObjectGuid | guid | ) |
References QueueDataStore.
Referenced by lfg::LFGMgr::UpdateProposal().
|
private |
References CompatibleList, CompatibleTempList, LOG_DEBUG, and ObjectGuid::ToString().
Referenced by RemoveFromQueue().
|
private |
References LOG_DEBUG, newToQueueStore, restoredAfterProposal, and ObjectGuid::ToString().
Referenced by FindGroups(), and RemoveFromQueue().
void lfg::LFGQueue::RemoveFromQueue | ( | ObjectGuid | guid, |
bool | partial = false |
||
) |
References LOG_DEBUG, QueueDataStore, RemoveFromCompatibles(), RemoveFromNewQueue(), and ObjectGuid::ToString().
Referenced by lfg::LFGMgr::AllQueued(), CheckCompatibility(), lfg::LFGMgr::JoinLfg(), lfg::LFGMgr::LeaveLfg(), and lfg::LFGMgr::RemoveProposal().
void lfg::LFGQueue::RemoveQueueData | ( | ObjectGuid | guid | ) |
References LOG_DEBUG, QueueDataStore, and ObjectGuid::ToString().
Referenced by lfg::LFGMgr::UpdateProposal().
|
private |
|
private |
References lfg::LfgQueueData::bestCompatible, lfg::LfgQueueData::dps, lfg::LfgQueueData::healers, lfg::LFG_DPS_NEEDED, lfg::LFG_HEALERS_NEEDED, lfg::LFG_TANKS_NEEDED, LOG_DEBUG, lfg::PLAYER_ROLE_HEALER, lfg::PLAYER_ROLE_TANK, lfg::Lfg5Guids::roles, lfg::Lfg5Guids::size(), lfg::LfgQueueData::tanks, and lfg::Lfg5Guids::toString().
Referenced by CheckCompatibility(), and FindBestCompatibleInQueue().
void lfg::LFGQueue::UpdateQueueTimers | ( | uint32 | diff | ) |
References AddToQueue(), lfg::LfgQueueData::bestCompatible, CompatibleList, lfg::LfgQueueData::dps, lfg::LfgQueueData::dungeons, lfg::Lfg5Guids::empty(), FindBestCompatibleInQueue(), GameTime::GetGameTime(), lfg::LfgQueueData::healers, HOUR, lfg::LfgQueueData::joinTime, lfg::LFG_QUEUEUPDATE_INTERVAL, LOG_DEBUG, m_QueueStatusTimer, lfg::PLAYER_ROLE_DAMAGE, lfg::PLAYER_ROLE_HEALER, lfg::PLAYER_ROLE_NONE, lfg::PLAYER_ROLE_TANK, QueueDataStore, lfg::LfgQueueData::roles, lfg::LFGMgr::SendLfgQueueStatus(), sLFGMgr, lfg::LfgQueueData::tanks, waitTimesAvgStore, waitTimesDpsStore, waitTimesHealerStore, and waitTimesTankStore.
References lfg::LfgWaitTime::number, lfg::LfgWaitTime::time, and waitTimesAvgStore.
Referenced by lfg::LFGMgr::UpdateProposal().
References lfg::LfgWaitTime::number, lfg::LfgWaitTime::time, and waitTimesDpsStore.
Referenced by lfg::LFGMgr::UpdateProposal().
References lfg::LfgWaitTime::number, lfg::LfgWaitTime::time, and waitTimesHealerStore.
Referenced by lfg::LFGMgr::UpdateProposal().
References lfg::LfgWaitTime::number, lfg::LfgWaitTime::time, and waitTimesTankStore.
Referenced by lfg::LFGMgr::UpdateProposal().
|
private |
Referenced by FindBestCompatibleInQueue(), FindGroups(), FindNewGroups(), RemoveFromCompatibles(), and UpdateQueueTimers().
|
private |
Referenced by AddToCompatibles(), FindGroups(), and RemoveFromCompatibles().
|
private |
Referenced by UpdateQueueTimers().
|
private |
Referenced by AddToNewQueue(), FindGroups(), and RemoveFromNewQueue().
|
private |
Referenced by AddQueueData(), AddToQueue(), CheckCompatibility(), GetJoinTime(), RemoveFromQueue(), RemoveQueueData(), and UpdateQueueTimers().
|
private |
Referenced by AddToNewQueue(), FindGroups(), and RemoveFromNewQueue().
|
private |
Referenced by UpdateQueueTimers(), and UpdateWaitTimeAvg().
|
private |
Referenced by UpdateQueueTimers(), and UpdateWaitTimeDps().
|
private |
Referenced by UpdateQueueTimers(), and UpdateWaitTimeHealer().
|
private |
Referenced by UpdateQueueTimers(), and UpdateWaitTimeTank().