18#ifndef _IVMAPMANAGER_H
19#define _IVMAPMANAGER_H
43 #define VMAP_INVALID_HEIGHT -100000.0f
44 #define VMAP_INVALID_HEIGHT_VALUE -200000.0f
79 IVMapManager() : iEnableLineOfSightCalc(true), iEnableHeightCalc(true) { }
87 virtual void unloadMap(
unsigned int pMapId,
int x,
int y) = 0;
91 virtual float getHeight(
unsigned int pMapId,
float x,
float y,
float z,
float maxSearchDist) = 0;
96 virtual bool getObjectHitPos(
unsigned int pMapId,
float x1,
float y1,
float z1,
float x2,
float y2,
float z2,
float& rx,
float &ry,
float& rz,
float pModifyDist) = 0;
#define VMAP_INVALID_HEIGHT
std::optional< T > Optional
Optional helper class to wrap optional values within.
virtual float getHeight(unsigned int pMapId, float x, float y, float z, float maxSearchDist)=0
virtual bool isInLineOfSight(unsigned int pMapId, float x1, float y1, float z1, float x2, float y2, float z2, ModelIgnoreFlags ignoreFlags)=0
bool isHeightCalcEnabled() const
virtual bool getAreaAndLiquidData(unsigned int mapId, float x, float y, float z, Optional< uint8 > reqLiquidType, AreaAndLiquidData &data) const =0
void setEnableLineOfSightCalc(bool pVal)
bool isMapLoadingEnabled() const
bool iEnableLineOfSightCalc
bool isLineOfSightCalcEnabled() const
virtual LoadResult loadMap(char const *pBasePath, unsigned int pMapId, int x, int y)=0
virtual LoadResult existsMap(char const *pBasePath, unsigned int pMapId, int x, int y)=0
virtual bool processCommand(char *pCommand)=0
virtual std::string getDirFileName(unsigned int pMapId, int x, int y) const =0
virtual void unloadMap(unsigned int pMapId, int x, int y)=0
virtual void unloadMap(unsigned int pMapId)=0
virtual bool getObjectHitPos(unsigned int pMapId, float x1, float y1, float z1, float x2, float y2, float z2, float &rx, float &ry, float &rz, float pModifyDist)=0
void setEnableHeightCalc(bool pVal)
virtual ~IVMapManager(void)
AreaInfo(int32 _groupId, int32 _adtId, int32 _rootId, uint32 _mogpFlags, uint32 _uniqueId)
LiquidInfo(uint32 _type, float _level)
Optional< AreaInfo > areaInfo
Optional< LiquidInfo > liquidInfo