18#ifndef __BATTLEGROUNDMGR_H
19#define __BATTLEGROUNDMGR_H
26#include <unordered_map>
70 struct BattlefieldStatusHeader;
71 class BattlefieldStatusNone;
72 class BattlefieldStatusNeedConfirmation;
73 class BattlefieldStatusActive;
74 class BattlefieldStatusQueued;
75 class GroupJoinedBattleground;
119 void LoadBattlegroundTemplates();
120 void DeleteAllBattlegrounds();
128 uint32 GetPrematureFinishTime()
const;
130 void ToggleArenaTesting();
131 void ToggleTesting();
133 void ResetHolidays();
134 void SetHolidayActive(
uint32 battlegroundId);
139 static bool IsRandomBattleground(
uint32 battlemasterListId);
146 uint32 GetMaxRatingDifference()
const;
147 uint32 GetRatingDiscardTimer()
const;
148 void InitAutomaticArenaPointDistribution();
149 void LoadBattleMastersEntry();
150 void CheckBattleMasters();
153 BattleMastersMap::const_iterator itr = mBattleMastersMap.find(entry);
154 if (itr != mBattleMastersMap.end())
189 BattlegroundTemplateMap::const_iterator itr = _battlegroundTemplates.find(
id);
190 if (itr != _battlegroundTemplates.end())
197 BattlegroundMapTemplateContainer::const_iterator itr = _battlegroundMapTemplates.find(mapId);
198 if (itr != _battlegroundMapTemplates.end())
211#define sBattlegroundMgr BattlegroundMgr::instance()
std::unordered_map< uint32, BattlegroundTypeId > BattleMastersMap
@ BATTLEGROUND_ARENA_POINT_DISTRIBUTION_DAY
@ BATTLEGROUND_OBJECTIVE_UPDATE_INTERVAL
std::set< uint32 > BattlegroundClientIdsContainer
std::map< uint32, Trinity::unique_trackable_ptr< Battleground > > BattlegroundContainer
std::list< Battleground * > BGFreeSlotQueueContainer
#define MAX_BATTLEGROUND_BRACKETS
GroupJoinBattlegroundResult
uint8 constexpr PVP_TEAMS_COUNT
std::map< BattlegroundTypeId, BattlegroundTemplate > BattlegroundTemplateMap
BattlegroundMapTemplateContainer _battlegroundMapTemplates
std::map< BattlegroundQueueTypeId, BattlegroundQueue > m_BattlegroundQueues
std::map< BattlegroundTypeId, uint8 > BattlegroundSelectionWeightMap
BattlegroundTemplate const * GetBattlegroundTemplateByMapId(uint32 mapId)
std::vector< ScheduledQueueUpdate > m_QueueUpdateScheduler
BattlegroundTemplateMap _battlegroundTemplates
uint32 m_AutoDistributionTimeChecker
std::map< BattlegroundTypeId, BattlegroundData > BattlegroundDataContainer
std::map< uint32, BattlegroundTemplate * > BattlegroundMapTemplateContainer
bool isArenaTesting() const
BattlegroundQueue & GetBattlegroundQueue(BattlegroundQueueTypeId bgQueueTypeId)
time_t m_NextAutoDistributionTime
BattleMastersMap mBattleMastersMap
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
BattlegroundContainer m_Battlegrounds
BattlegroundClientIdsContainer m_ClientBattlegroundIds[MAX_BATTLEGROUND_BRACKETS]
BGFreeSlotQueueContainer BGFreeSlotQueue
BattlegroundQueueTypeId QueueId
bool operator==(ScheduledQueueUpdate const &right) const =default
uint32 ArenaMatchmakerRating
BattlemasterListEntry const * BattlemasterEntry
Position StartLocation[PVP_TEAMS_COUNT]
std::vector< int32 > MapIDs