TrinityCore
Loading...
Searching...
No Matches
VMAP::VMapManager2 Class Reference

#include <VMapManager2.h>

+ Inheritance diagram for VMAP::VMapManager2:

Public Types

typedef uint32(* GetLiquidFlagsFn) (uint32 liquidType)
 
typedef bool(* IsVMAPDisabledForFn) (uint32 entry, uint8 flags)
 

Public Member Functions

G3D::Vector3 convertPositionToInternalRep (float x, float y, float z) const
 
 VMapManager2 ()
 
 ~VMapManager2 (void)
 
void InitializeThreadUnsafe (const std::vector< uint32 > &mapIds)
 
int loadMap (char const *pBasePath, unsigned int mapId, int x, int y) override
 
void unloadMap (unsigned int mapId, int x, int y) override
 
void unloadMap (unsigned int mapId) override
 
bool isInLineOfSight (unsigned int mapId, float x1, float y1, float z1, float x2, float y2, float z2, ModelIgnoreFlags ignoreFlags) override
 
bool getObjectHitPos (unsigned int mapId, float x1, float y1, float z1, float x2, float y2, float z2, float &rx, float &ry, float &rz, float modifyDist) override
 
float getHeight (unsigned int mapId, float x, float y, float z, float maxSearchDist) override
 
bool processCommand (char *) override
 
bool getAreaAndLiquidData (uint32 mapId, float x, float y, float z, Optional< uint8 > reqLiquidType, AreaAndLiquidData &data) const override
 
WorldModel * acquireModelInstance (const std::string &basepath, const std::string &filename, uint32 flags=0)
 
void releaseModelInstance (const std::string &filename)
 
virtual std::string getDirFileName (unsigned int mapId, int, int) const override
 
virtual LoadResult existsMap (char const *basePath, unsigned int mapId, int x, int y) override
 
void getInstanceMapTree (InstanceTreeMap &instanceMapTree)
 
- Public Member Functions inherited from VMAP::IVMapManager
 IVMapManager ()
 
virtual ~IVMapManager (void)
 
void setEnableLineOfSightCalc (bool pVal)
 
void setEnableHeightCalc (bool pVal)
 
bool isLineOfSightCalcEnabled () const
 
bool isHeightCalcEnabled () const
 
bool isMapLoadingEnabled () const
 
virtual bool getAreaAndLiquidData (unsigned int mapId, float x, float y, float z, Optional< uint8 > reqLiquidType, AreaAndLiquidData &data) const =0
 

Static Public Member Functions

static std::string getMapFileName (unsigned int mapId)
 

Public Attributes

GetLiquidFlagsFn GetLiquidFlagsPtr
 
IsVMAPDisabledForFn IsVMAPDisabledForPtr
 

Protected Member Functions

bool _loadMap (uint32 mapId, const std::string &basePath, uint32 tileX, uint32 tileY)
 
InstanceTreeMap::const_iterator GetMapTree (uint32 mapId) const
 

Static Protected Member Functions

static uint32 GetLiquidFlagsDummy (uint32)
 
static bool IsVMAPDisabledForDummy (uint32, uint8)
 

Protected Attributes

ModelFileMap iLoadedModelFiles
 
InstanceTreeMap iInstanceMapTrees
 
bool thread_safe_environment
 
std::mutex LoadedModelFilesLock
 

Detailed Description

Definition at line 77 of file VMapManager2.h.

Member Typedef Documentation

◆ GetLiquidFlagsFn

typedef uint32(* VMAP::VMapManager2::GetLiquidFlagsFn) (uint32 liquidType)

Definition at line 132 of file VMapManager2.h.

◆ IsVMAPDisabledForFn

typedef bool(* VMAP::VMapManager2::IsVMAPDisabledForFn) (uint32 entry, uint8 flags)

Definition at line 135 of file VMapManager2.h.

Constructor & Destructor Documentation

◆ VMapManager2()

VMAP::VMapManager2::VMapManager2 ( )

◆ ~VMapManager2()

VMAP::VMapManager2::~VMapManager2 ( void  )

Definition at line 42 of file VMapManager2.cpp.

References iInstanceMapTrees, and iLoadedModelFiles.

Member Function Documentation

◆ _loadMap()

bool VMAP::VMapManager2::_loadMap ( uint32  mapId,
const std::string &  basePath,
uint32  tileX,
uint32  tileY 
)
protected

◆ acquireModelInstance()

WorldModel * VMAP::VMapManager2::acquireModelInstance ( const std::string &  basepath,
const std::string &  filename,
uint32  flags = 0 
)

◆ convertPositionToInternalRep()

Vector3 VMAP::VMapManager2::convertPositionToInternalRep ( float  x,
float  y,
float  z 
) const

Definition at line 63 of file VMapManager2.cpp.

Referenced by getAreaAndLiquidData(), getHeight(), getObjectHitPos(), and isInLineOfSight().

◆ existsMap()

LoadResult VMAP::VMapManager2::existsMap ( char const *  basePath,
unsigned int  mapId,
int  x,
int  y 
)
overridevirtual

Implements VMAP::IVMapManager.

Definition at line 312 of file VMapManager2.cpp.

References VMAP::StaticMapTree::CanLoadMap().

◆ getAreaAndLiquidData()

◆ getDirFileName()

virtual std::string VMAP::VMapManager2::getDirFileName ( unsigned int  mapId,
int  ,
int   
) const
inlineoverridevirtual

Implements VMAP::IVMapManager.

Definition at line 124 of file VMapManager2.h.

◆ getHeight()

float VMAP::VMapManager2::getHeight ( unsigned int  mapId,
float  x,
float  y,
float  z,
float  maxSearchDist 
)
overridevirtual

◆ getInstanceMapTree()

void VMAP::VMapManager2::getInstanceMapTree ( InstanceTreeMap &  instanceMapTree)

Definition at line 317 of file VMapManager2.cpp.

References iInstanceMapTrees.

◆ GetLiquidFlagsDummy()

static uint32 VMAP::VMapManager2::GetLiquidFlagsDummy ( uint32  )
inlinestaticprotected

Definition at line 90 of file VMapManager2.h.

Referenced by VMapManager2().

◆ getMapFileName()

std::string VMAP::VMapManager2::getMapFileName ( unsigned int  mapId)
static

Definition at line 75 of file VMapManager2.cpp.

References MAP_FILENAME_EXTENSION2.

Referenced by _loadMap(), and VMAP::StaticMapTree::CanLoadMap().

◆ GetMapTree()

InstanceTreeMap::const_iterator VMAP::VMapManager2::GetMapTree ( uint32  mapId) const
protected

Definition at line 98 of file VMapManager2.cpp.

References iInstanceMapTrees.

Referenced by getAreaAndLiquidData(), getHeight(), getObjectHitPos(), and isInLineOfSight().

◆ getObjectHitPos()

bool VMAP::VMapManager2::getObjectHitPos ( unsigned int  mapId,
float  x1,
float  y1,
float  z1,
float  x2,
float  y2,
float  z2,
float &  rx,
float &  ry,
float &  rz,
float  modifyDist 
)
overridevirtual

fill the hit pos and return true, if an object was hit

get the hit position and return true if we hit something otherwise the result pos will be the dest pos

Implements VMAP::IVMapManager.

Definition at line 187 of file VMapManager2.cpp.

References convertPositionToInternalRep(), GetMapTree(), iInstanceMapTrees, VMAP::IVMapManager::isLineOfSightCalcEnabled(), IsVMAPDisabledForPtr, and VMAP::VMAP_DISABLE_LOS.

Referenced by WorldObject::MovePositionToFirstCollision().

◆ InitializeThreadUnsafe()

void VMAP::VMapManager2::InitializeThreadUnsafe ( const std::vector< uint32 > &  mapIds)

Definition at line 54 of file VMapManager2.cpp.

References iInstanceMapTrees, and thread_safe_environment.

Referenced by World::SetInitialWorldSettings().

◆ isInLineOfSight()

bool VMAP::VMapManager2::isInLineOfSight ( unsigned int  mapId,
float  x1,
float  y1,
float  z1,
float  x2,
float  y2,
float  z2,
ModelIgnoreFlags  ignoreFlags 
)
overridevirtual

◆ IsVMAPDisabledForDummy()

static bool VMAP::VMapManager2::IsVMAPDisabledForDummy ( uint32  ,
uint8   
)
inlinestaticprotected

Definition at line 91 of file VMapManager2.h.

Referenced by VMapManager2().

◆ loadMap()

int VMAP::VMapManager2::loadMap ( char const *  pBasePath,
unsigned int  mapId,
int  x,
int  y 
)
overridevirtual

◆ processCommand()

bool VMAP::VMapManager2::processCommand ( char *  pCommand)
inlineoverridevirtual

send debug commands

Implements VMAP::IVMapManager.

Definition at line 116 of file VMapManager2.h.

◆ releaseModelInstance()

void VMAP::VMapManager2::releaseModelInstance ( const std::string &  filename)

Critical section, thread safe access to iLoadedModelFiles

Definition at line 293 of file VMapManager2.cpp.

References iLoadedModelFiles, LoadedModelFilesLock, TC_LOG_DEBUG, and TC_LOG_ERROR.

Referenced by VMAP::StaticMapTree::UnloadMap(), VMAP::StaticMapTree::UnloadMapTile(), and GameObjectModel::~GameObjectModel().

◆ unloadMap() [1/2]

void VMAP::VMapManager2::unloadMap ( unsigned int  mapId)
overridevirtual

Implements VMAP::IVMapManager.

Definition at line 136 of file VMapManager2.cpp.

References iInstanceMapTrees.

◆ unloadMap() [2/2]

void VMAP::VMapManager2::unloadMap ( unsigned int  mapId,
int  x,
int  y 
)
overridevirtual

Member Data Documentation

◆ GetLiquidFlagsPtr

GetLiquidFlagsFn VMAP::VMapManager2::GetLiquidFlagsPtr

◆ iInstanceMapTrees

◆ iLoadedModelFiles

ModelFileMap VMAP::VMapManager2::iLoadedModelFiles
protected

Definition at line 81 of file VMapManager2.h.

Referenced by acquireModelInstance(), releaseModelInstance(), and ~VMapManager2().

◆ IsVMAPDisabledForPtr

IsVMAPDisabledForFn VMAP::VMapManager2::IsVMAPDisabledForPtr

◆ LoadedModelFilesLock

std::mutex VMAP::VMapManager2::LoadedModelFilesLock
protected

Definition at line 85 of file VMapManager2.h.

Referenced by acquireModelInstance(), and releaseModelInstance().

◆ thread_safe_environment

bool VMAP::VMapManager2::thread_safe_environment
protected

Definition at line 83 of file VMapManager2.h.

Referenced by _loadMap(), InitializeThreadUnsafe(), and VMapManager2().


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