18#ifndef __BATTLEGROUNDMGR_H
19#define __BATTLEGROUNDMGR_H
26#include <unordered_map>
67 struct BattlefieldStatusHeader;
68 class BattlefieldStatusNone;
69 class BattlefieldStatusNeedConfirmation;
70 class BattlefieldStatusActive;
71 class BattlefieldStatusQueued;
72 class BattlefieldStatusFailed;
107 void RemoveFromBGFreeSlotQueue(
uint32 mapId,
uint32 instanceId);
110 void LoadBattlegroundTemplates();
111 void DeleteAllBattlegrounds();
119 uint32 GetPrematureFinishTime()
const;
121 void ToggleArenaTesting();
122 void ToggleTesting();
127 static bool IsRandomBattleground(
uint32 battlemasterListId);
134 uint32 GetMaxRatingDifference()
const;
135 uint32 GetRatingDiscardTimer()
const;
136 void LoadBattleMastersEntry();
137 void CheckBattleMasters();
140 BattleMastersMap::const_iterator itr = mBattleMastersMap.find(entry);
141 if (itr != mBattleMastersMap.end())
148 BattlegroundTemplateMap::const_iterator itr = _battlegroundTemplates.find(
id);
149 if (itr != _battlegroundTemplates.end())
183 BattlegroundMapTemplateContainer::const_iterator itr = _battlegroundMapTemplates.find(mapId);
184 if (itr != _battlegroundMapTemplates.end())
195#define sBattlegroundMgr BattlegroundMgr::instance()
std::unordered_map< uint32, BattlegroundTypeId > BattleMastersMap
@ BATTLEGROUND_OBJECTIVE_UPDATE_INTERVAL
std::set< uint32 > BattlegroundClientIdsContainer
std::map< uint32, Trinity::unique_trackable_ptr< Battleground > > BattlegroundContainer
std::list< Battleground * > BGFreeSlotQueueContainer
@ MAX_BATTLEGROUND_BRACKETS
GroupJoinBattlegroundResult
uint8 constexpr PVP_TEAMS_COUNT
std::map< BattlegroundTypeId, BattlegroundTemplate > BattlegroundTemplateMap
BattlegroundMapTemplateContainer _battlegroundMapTemplates
std::map< BattlegroundQueueTypeId, BattlegroundQueue > m_BattlegroundQueues
BattlegroundTemplate const * GetBattlegroundTemplateByMapId(uint32 mapId)
std::vector< ScheduledQueueUpdate > m_QueueUpdateScheduler
BattlegroundTemplateMap _battlegroundTemplates
std::map< BattlegroundTypeId, BattlegroundData > BattlegroundDataContainer
std::map< uint32, BattlegroundTemplate * > BattlegroundMapTemplateContainer
bool isArenaTesting() const
BattlegroundQueue & GetBattlegroundQueue(BattlegroundQueueTypeId bgQueueTypeId)
BattleMastersMap mBattleMastersMap
std::map< uint32, BGFreeSlotQueueContainer > m_BGFreeSlotQueue
BattlegroundMgr & operator=(BattlegroundMgr const &right)=delete
BattlegroundTemplate const * GetBattlegroundTemplateByTypeId(BattlegroundTypeId id)
BattlegroundMgr(BattlegroundMgr const &right)=delete
BattlegroundTypeId GetBattleMasterBG(uint32 entry) const
uint32 m_NextRatedArenaUpdate
BattlegroundMgr & operator=(BattlegroundMgr &&right)=delete
BattlegroundDataContainer bgDataStore
BattlegroundMgr(BattlegroundMgr &&right)=delete
void Update(VignetteData &vignette, WorldObject const *owner)
BattlegroundContainer m_Battlegrounds
BattlegroundClientIdsContainer m_ClientBattlegroundIds[MAX_BATTLEGROUND_BRACKETS]
BattlegroundQueueTypeId QueueId
bool operator==(ScheduledQueueUpdate const &right) const =default
uint32 ArenaMatchmakerRating
BattlegroundBracketId BracketId
uint8 GetMinLevel() const
BattlemasterListEntry const * BattlemasterEntry
uint16 GetMaxPlayersPerTeam() const
WorldSafeLocsEntry const * StartLocation[PVP_TEAMS_COUNT]
uint16 GetMinPlayersPerTeam() const
uint8 GetMaxLevel() const