Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
MapManager Class Reference

#include <MapManager.h>

Collaboration diagram for MapManager:

Public Member Functions

bool CanPlayerEnter (uint32 mapid, Player *player, bool loginCheck=false)
MapCreateBaseMap (uint32 mapId)
MapCreateMap (uint32 mapId, Player *player)
void DoDelayedMovesAndRemoves ()
MapFindBaseNonInstanceMap (uint32 mapId) const
MapFindMap (uint32 mapId, uint32 instanceId) const
void FreeInstanceId (uint32 instanceId)
uint32 GenerateInstanceId ()
uint16 GetAreaFlag (uint32 mapid, float x, float y, float z) const
uint32 GetAreaId (uint32 mapid, float x, float y, float z) const
MapUpdaterGetMapUpdater ()
uint32 GetNextInstanceId () const
uint32 GetNumInstances ()
uint32 GetNumPlayersInInstances ()
void GetZoneAndAreaId (uint32 &zoneid, uint32 &areaid, uint32 mapid, float x, float y, float z)
uint32 GetZoneId (uint32 mapid, float x, float y, float z) const
void Initialize (void)
void InitializeVisibilityDistanceInfo ()
void InitInstanceIds ()
void RegisterInstanceId (uint32 instanceId)
void SetGridCleanUpDelay (uint32 t)
void SetMapUpdateInterval (uint32 t)
void SetNextInstanceId (uint32 nextInstanceId)
void UnloadAll ()
void Update (uint32)

Static Public Member Functions

static bool ExistMapAndVMap (uint32 mapid, float x, float y)
static bool IsValidMAP (uint32 mapid, bool startUp)
static bool IsValidMapCoord (uint32 mapid, float x, float y)
static bool IsValidMapCoord (uint32 mapid, float x, float y, float z)
static bool IsValidMapCoord (uint32 mapid, float x, float y, float z, float o)
static bool IsValidMapCoord (WorldLocation const &loc)

Private Types

typedef std::vector< bool > InstanceIds
typedef UNORDERED_MAP< uint32, Map * > MapMapType

Private Member Functions

void checkAndCorrectGridStatesArray ()
MapFindBaseMap (uint32 mapId) const
 MapManager ()
 MapManager (const MapManager &)
MapManageroperator= (const MapManager &)
 ~MapManager ()

Private Attributes

InstanceIds _instanceIds
uint32 _nextInstanceId
uint32 i_gridCleanUpDelay
int i_GridStateErrorCount
GridStatei_GridStates [MAX_GRID_STATE] = { }
MapMapType i_maps
IntervalTimer i_timer
std::mutex Lock
MapUpdater m_updater

Friends

class Skyfire::Singleton< MapManager, Skyfire::Mutex >

Detailed Description

Definition at line 21 of file MapManager.h.

Member Typedef Documentation

◆ InstanceIds

typedef std::vector<bool> MapManager::InstanceIds
private

Definition at line 117 of file MapManager.h.

◆ MapMapType

Definition at line 116 of file MapManager.h.

Constructor & Destructor Documentation

◆ MapManager() [1/2]

MapManager::MapManager ( )
private

◆ ~MapManager()

MapManager::~MapManager ( )
private

Definition at line 37 of file MapManager.cpp.

◆ MapManager() [2/2]

MapManager::MapManager ( const MapManager & )
private

References MapManager().

Member Function Documentation

◆ CanPlayerEnter()

◆ checkAndCorrectGridStatesArray()

void MapManager::checkAndCorrectGridStatesArray ( )
private

◆ CreateBaseMap()

◆ CreateMap()

Map * MapManager::CreateMap ( uint32 mapId,
Player * player )

Definition at line 152 of file MapManager.cpp.

References CreateBaseMap(), and Map::Instanceable().

◆ DoDelayedMovesAndRemoves()

void MapManager::DoDelayedMovesAndRemoves ( )

Definition at line 319 of file MapManager.cpp.

◆ ExistMapAndVMap()

bool MapManager::ExistMapAndVMap ( uint32 mapid,
float x,
float y )
static

◆ FindBaseMap()

Map * MapManager::FindBaseMap ( uint32 mapId) const
inlineprivate

Definition at line 127 of file MapManager.h.

References i_maps.

Referenced by CreateBaseMap(), FindBaseNonInstanceMap(), and FindMap().

◆ FindBaseNonInstanceMap()

Map * MapManager::FindBaseNonInstanceMap ( uint32 mapId) const

Definition at line 144 of file MapManager.cpp.

References FindBaseMap(), and Map::Instanceable().

◆ FindMap()

Map * MapManager::FindMap ( uint32 mapId,
uint32 instanceId ) const

Definition at line 162 of file MapManager.cpp.

References FindBaseMap(), and Map::Instanceable().

◆ FreeInstanceId()

void MapManager::FreeInstanceId ( uint32 instanceId)

Definition at line 450 of file MapManager.cpp.

References _instanceIds, _nextInstanceId, and SetNextInstanceId().

◆ GenerateInstanceId()

uint32 MapManager::GenerateInstanceId ( )

◆ GetAreaFlag()

uint16 MapManager::GetAreaFlag ( uint32 mapid,
float x,
float y,
float z ) const
inline

◆ GetAreaId()

uint32 MapManager::GetAreaId ( uint32 mapid,
float x,
float y,
float z ) const
inline

Definition at line 36 of file MapManager.h.

References GetAreaFlag(), and Map::GetAreaIdByAreaFlag().

◆ GetMapUpdater()

MapUpdater * MapManager::GetMapUpdater ( )
inline

Definition at line 113 of file MapManager.h.

References m_updater.

◆ GetNextInstanceId()

uint32 MapManager::GetNextInstanceId ( ) const
inline

Definition at line 110 of file MapManager.h.

References _nextInstanceId.

◆ GetNumInstances()

uint32 MapManager::GetNumInstances ( )

Definition at line 358 of file MapManager.cpp.

References i_maps, Map::Instanceable(), and Lock.

◆ GetNumPlayersInInstances()

uint32 MapManager::GetNumPlayersInInstances ( )

Definition at line 375 of file MapManager.cpp.

References i_maps, Map::Instanceable(), and Lock.

◆ GetZoneAndAreaId()

void MapManager::GetZoneAndAreaId ( uint32 & zoneid,
uint32 & areaid,
uint32 mapid,
float x,
float y,
float z )
inline

Definition at line 44 of file MapManager.h.

References GetAreaFlag(), and Map::GetZoneAndAreaIdByAreaFlag().

◆ GetZoneId()

uint32 MapManager::GetZoneId ( uint32 mapid,
float x,
float y,
float z ) const
inline

Definition at line 40 of file MapManager.h.

References GetAreaFlag(), and Map::GetZoneIdByAreaFlag().

◆ Initialize()

void MapManager::Initialize ( void )

◆ InitializeVisibilityDistanceInfo()

void MapManager::InitializeVisibilityDistanceInfo ( )

Definition at line 56 of file MapManager.cpp.

References i_maps.

◆ InitInstanceIds()

void MapManager::InitInstanceIds ( )

Definition at line 393 of file MapManager.cpp.

References _instanceIds, _nextInstanceId, and CharacterDatabase.

◆ IsValidMAP()

bool MapManager::IsValidMAP ( uint32 mapid,
bool startUp )
static
Todo
add check for battleground template

Definition at line 331 of file MapManager.cpp.

References MapEntry::IsInstance(), sMapStore, and sObjectMgr.

Referenced by IsValidMapCoord(), IsValidMapCoord(), IsValidMapCoord(), and ObjectMgr::LoadInstanceTemplate().

◆ IsValidMapCoord() [1/4]

◆ IsValidMapCoord() [2/4]

bool MapManager::IsValidMapCoord ( uint32 mapid,
float x,
float y,
float z )
inlinestatic

Definition at line 80 of file MapManager.h.

References IsValidMAP(), and Skyfire::IsValidMapCoord().

◆ IsValidMapCoord() [3/4]

bool MapManager::IsValidMapCoord ( uint32 mapid,
float x,
float y,
float z,
float o )
inlinestatic

Definition at line 85 of file MapManager.h.

References IsValidMAP(), and Skyfire::IsValidMapCoord().

◆ IsValidMapCoord() [4/4]

bool MapManager::IsValidMapCoord ( WorldLocation const & loc)
inlinestatic

◆ operator=()

MapManager & MapManager::operator= ( const MapManager & )
private

References MapManager().

◆ RegisterInstanceId()

void MapManager::RegisterInstanceId ( uint32 instanceId)

Definition at line 407 of file MapManager.cpp.

References _instanceIds.

◆ SetGridCleanUpDelay()

void MapManager::SetGridCleanUpDelay ( uint32 t)
inline

Definition at line 52 of file MapManager.h.

References i_gridCleanUpDelay, and MIN_GRID_DELAY.

◆ SetMapUpdateInterval()

void MapManager::SetMapUpdateInterval ( uint32 t)
inline

Definition at line 60 of file MapManager.h.

References i_timer, and MIN_MAP_UPDATE_DELAY.

◆ SetNextInstanceId()

void MapManager::SetNextInstanceId ( uint32 nextInstanceId)
inline

Definition at line 111 of file MapManager.h.

References _nextInstanceId.

Referenced by FreeInstanceId().

◆ UnloadAll()

void MapManager::UnloadAll ( )

Definition at line 343 of file MapManager.cpp.

References Map::DeleteStateMachine(), i_maps, and m_updater.

◆ Update()

◆ Skyfire::Singleton< MapManager, Skyfire::Mutex >

friend class Skyfire::Singleton< MapManager, Skyfire::Mutex >
friend

Definition at line 1 of file MapManager.h.

Member Data Documentation

◆ _instanceIds

InstanceIds MapManager::_instanceIds
private

◆ _nextInstanceId

uint32 MapManager::_nextInstanceId
private

◆ i_gridCleanUpDelay

uint32 MapManager::i_gridCleanUpDelay
private

Definition at line 137 of file MapManager.h.

Referenced by CreateBaseMap(), MapManager(), and SetGridCleanUpDelay().

◆ i_GridStateErrorCount

int MapManager::i_GridStateErrorCount
private

Definition at line 122 of file MapManager.h.

Referenced by checkAndCorrectGridStatesArray(), Initialize(), and MapManager().

◆ i_GridStates

GridState* MapManager::i_GridStates[MAX_GRID_STATE] = { }
private

Definition at line 121 of file MapManager.h.

Referenced by checkAndCorrectGridStatesArray(), and Initialize().

◆ i_maps

◆ i_timer

IntervalTimer MapManager::i_timer
private

Definition at line 139 of file MapManager.h.

Referenced by MapManager(), SetMapUpdateInterval(), and Update().

◆ Lock

std::mutex MapManager::Lock
private

Definition at line 136 of file MapManager.h.

Referenced by CreateBaseMap(), GetNumInstances(), and GetNumPlayersInInstances().

◆ m_updater

MapUpdater MapManager::m_updater
private

Definition at line 143 of file MapManager.h.

Referenced by GetMapUpdater(), Initialize(), UnloadAll(), and Update().


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