AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
RaceMgr Class Reference

#include "RaceMgr.h"

Static Public Member Functions

static RaceMgrinstance ()
 
static void LoadRaces ()
 
static uint8 GetMaxRaces ()
 
static void SetMaxRaces (uint8 max)
 
static uint32 GetPlayableRaceMask ()
 
static uint32 GetAllianceRaceMask ()
 
static uint32 GetHordeRaceMask ()
 

Private Member Functions

 RaceMgr ()
 
 ~RaceMgr ()
 

Static Private Attributes

static uint8 _maxRaces = 0
 
static uint32 _playableRaceMask = 0
 
static uint32 _allianceRaceMask = 0
 
static uint32 _hordeRaceMask = 0
 

Detailed Description

Constructor & Destructor Documentation

◆ RaceMgr()

RaceMgr::RaceMgr ( )
private
34{
35}

◆ ~RaceMgr()

RaceMgr::~RaceMgr ( )
private
38{
39}

Member Function Documentation

◆ GetAllianceRaceMask()

static uint32 RaceMgr::GetAllianceRaceMask ( )
inlinestatic
42{ return _allianceRaceMask; }
static uint32 _allianceRaceMask
Definition RaceMgr.h:48

References _allianceRaceMask.

◆ GetHordeRaceMask()

static uint32 RaceMgr::GetHordeRaceMask ( )
inlinestatic
43{ return _hordeRaceMask; }
static uint32 _hordeRaceMask
Definition RaceMgr.h:49

References _hordeRaceMask.

◆ GetMaxRaces()

static uint8 RaceMgr::GetMaxRaces ( )
inlinestatic
39{ return _maxRaces; }
static uint8 _maxRaces
Definition RaceMgr.h:45

References _maxRaces.

Referenced by LoadRaces().

◆ GetPlayableRaceMask()

static uint32 RaceMgr::GetPlayableRaceMask ( )
inlinestatic
41{ return _playableRaceMask; }
static uint32 _playableRaceMask
Definition RaceMgr.h:47

References _playableRaceMask.

◆ instance()

RaceMgr * RaceMgr::instance ( )
static
42{
43 static RaceMgr instance;
44 return &instance;
45}
Definition RaceMgr.h:30
static RaceMgr * instance()
Definition RaceMgr.cpp:41

References instance().

Referenced by instance().

◆ LoadRaces()

void RaceMgr::LoadRaces ( )
static
48{
49 SetMaxRaces(0 + 1);
53
54 for (auto const& raceEntry : sChrRacesStore)
55 {
56 if (!raceEntry)
57 continue;
58
59 uint8 alliance = raceEntry->alliance;
60 uint8 raceId = raceEntry->RaceID;
61
62 if (raceEntry->Flags & CHRRACES_FLAGS_NOT_PLAYABLE)
63 continue;
64
65 if (GetMaxRaces() <= raceId)
66 SetMaxRaces(raceId + 1);
67
68 uint32 raceBit = (1 << (raceId - 1));
69
70 _playableRaceMask |= raceBit;
71
72 if (alliance == ALLIANCE_HORDE)
73 _hordeRaceMask |= raceBit;
74 else if (alliance == ALLIANCE_ALLIANCE)
75 _allianceRaceMask |= raceBit;
76 }
77}
DBCStorage< ChrRacesEntry > sChrRacesStore(ChrRacesEntryfmt)
@ CHRRACES_FLAGS_NOT_PLAYABLE
Definition DBCStructure.h:673
std::uint8_t uint8
Definition Define.h:109
std::uint32_t uint32
Definition Define.h:107
@ ALLIANCE_HORDE
Definition SharedDefines.h:3681
@ ALLIANCE_ALLIANCE
Definition SharedDefines.h:3680
static void SetMaxRaces(uint8 max)
Definition RaceMgr.h:40
static uint8 GetMaxRaces()
Definition RaceMgr.h:39

References _allianceRaceMask, _hordeRaceMask, _playableRaceMask, ALLIANCE_ALLIANCE, ALLIANCE_HORDE, CHRRACES_FLAGS_NOT_PLAYABLE, GetMaxRaces(), sChrRacesStore, and SetMaxRaces().

◆ SetMaxRaces()

static void RaceMgr::SetMaxRaces ( uint8  max)
inlinestatic
40{ _maxRaces = max; }

References _maxRaces.

Referenced by LoadRaces().

Member Data Documentation

◆ _allianceRaceMask

uint32 RaceMgr::_allianceRaceMask = 0
staticprivate

Referenced by GetAllianceRaceMask(), and LoadRaces().

◆ _hordeRaceMask

uint32 RaceMgr::_hordeRaceMask = 0
staticprivate

Referenced by GetHordeRaceMask(), and LoadRaces().

◆ _maxRaces

uint8 RaceMgr::_maxRaces = 0
staticprivate

Referenced by GetMaxRaces(), and SetMaxRaces().

◆ _playableRaceMask

uint32 RaceMgr::_playableRaceMask = 0
staticprivate

Referenced by GetPlayableRaceMask(), and LoadRaces().


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