载入中...
搜索中...
未找到
eve::map::Map类 参考

Map module — factory + script binding for 2D tilemaps. Per-frame: TileConfigSystem (hot reload) → unified sprite+tile render. Pathfinding: newPathfinder / newPathfinderSize → A* + Flow Field group paths. FOV: newFov / newFovSize → shadowcast visibility + explored memory. 更多...

#include <Map.h>

类 eve::map::Map 继承关系图:
eve::Module

Public 成员函数

 Module_REG (Map)
 
 Map ()=default
 
 ~Map () override=default
 
TileLayernewLayer (int mapW, int mapH, float tileW=32.f, float tileH=32.f)
 
PathfindernewPathfinder (TileLayer *layer)
 Pathfinder bound to a TileLayer (syncs walkability from GIDs).
 
PathfindernewPathfinderSize (int mapW, int mapH)
 Custom grid pathfinder (no layer); fill with setBlocked / setCellCost.
 
FovnewFov (TileLayer *layer)
 FOV bound to a TileLayer (syncs opacity from opaque GIDs).
 
FovnewFovSize (int mapW, int mapH)
 Custom grid FOV (no layer); fill with setOpaque.
 
FovnewFovVolume (int mapW, int mapH, int depth)
 Volume FOV (W×H×D voxels); mode defaults to volume.
 
TileLayernewLayerFromFile (const std::string &path)
 Load map JSON (Tiled-compatible subset or EVEngine simplified format). Creates one TileLayer per tile layer; returns the first (nullptr on failure). Refreshes the module object cache from objectgroup layers.
 
int loadFromFile (const std::string &path)
 Same as newLayerFromFile but returns how many layers were created (0 on failure).
 
void update (float dt)
 
void render (graphics::Graphics *gfx)
 
int pollConfigs ()
 
int getLayerCount () const
 
TileLayergetLayer (int index) const
 Layer created by the most recent loadFromFile/newLayerFromFile call.
 
int getObjectCount () const
 
std::string getObjectName (int i) const
 
std::string getObjectType (int i) const
 
float getObjectX (int i) const
 
float getObjectY (int i) const
 
float getObjectWidth (int i) const
 
float getObjectHeight (int i) const
 
int getObjectGid (int i) const
 
void setObjects (std::vector< MapObject > objects)
 Replace object cache (used by load / hot reload).
 
bool resolveDualGrid (TileLayer *logic, TileLayer *display)
 Dual-grid resolve: paint logic (filled/empty), fill display with 15-tile autotiles on a half-offset grid. See DualGrid.h. filledGid 0 = any non-zero logic cell counts as filled.
 
bool resolveDualGridFilled (TileLayer *logic, TileLayer *display, int filledGid)
 
int dualGridMaskAt (TileLayer *logic, int dx, int dy, int filledGid)
 4-bit corner mask at display cell (dx,dy); see DualGrid.h.
 
int dualGridFrame (int mask)
 Default atlas frame for mask (-1 = empty).
 
float dualGridOffsetX (TileLayer *logic)
 Projection-correct half-step origin delta for a logic layer.
 
float dualGridOffsetY (TileLayer *logic)
 
std::string lastDualGridError () const
 
- Public 成员函数 继承自 eve::Module
virtual ~Module ()
 
virtual std::string getName () const =0
 

详细描述

Map module — factory + script binding for 2D tilemaps. Per-frame: TileConfigSystem (hot reload) → unified sprite+tile render. Pathfinding: newPathfinder / newPathfinderSize → A* + Flow Field group paths. FOV: newFov / newFovSize → shadowcast visibility + explored memory.

在文件 Map.h24 行定义.

构造及析构函数说明

◆ Map()

eve::map::Map::Map ( )
default

◆ ~Map()

eve::map::Map::~Map ( )
overridedefault

成员函数说明

◆ dualGridFrame()

int eve::map::Map::dualGridFrame ( int  mask)

Default atlas frame for mask (-1 = empty).

在文件 Map.cpp149 行定义.

引用了 eve::map::dualGridDefaultFrame().

◆ dualGridMaskAt()

int eve::map::Map::dualGridMaskAt ( TileLayer logic,
int  dx,
int  dy,
int  filledGid 
)

4-bit corner mask at display cell (dx,dy); see DualGrid.h.

在文件 Map.cpp144 行定义.

引用了 eve::map::dualGridMaskAt().

◆ dualGridOffsetX()

float eve::map::Map::dualGridOffsetX ( TileLayer logic)

Projection-correct half-step origin delta for a logic layer.

在文件 Map.cpp151 行定义.

引用了 eve::map::dualGridHalfOffset().

◆ dualGridOffsetY()

float eve::map::Map::dualGridOffsetY ( TileLayer logic)

在文件 Map.cpp158 行定义.

引用了 eve::map::dualGridHalfOffset().

◆ getLayer()

TileLayer * eve::map::Map::getLayer ( int  index) const

Layer created by the most recent loadFromFile/newLayerFromFile call.

在文件 Map.cpp87 行定义.

◆ getLayerCount()

int eve::map::Map::getLayerCount ( ) const

在文件 Map.cpp79 行定义.

引用了 n , 以及 view.

◆ getObjectCount()

int eve::map::Map::getObjectCount ( ) const

在文件 Map.cpp94 行定义.

◆ getObjectGid()

int eve::map::Map::getObjectGid ( int  i) const

在文件 Map.cpp126 行定义.

◆ getObjectHeight()

float eve::map::Map::getObjectHeight ( int  i) const

在文件 Map.cpp121 行定义.

◆ getObjectName()

std::string eve::map::Map::getObjectName ( int  i) const

在文件 Map.cpp96 行定义.

◆ getObjectType()

std::string eve::map::Map::getObjectType ( int  i) const

在文件 Map.cpp101 行定义.

◆ getObjectWidth()

float eve::map::Map::getObjectWidth ( int  i) const

在文件 Map.cpp116 行定义.

◆ getObjectX()

float eve::map::Map::getObjectX ( int  i) const

在文件 Map.cpp106 行定义.

◆ getObjectY()

float eve::map::Map::getObjectY ( int  i) const

在文件 Map.cpp111 行定义.

◆ lastDualGridError()

std::string eve::map::Map::lastDualGridError ( ) const

在文件 Map.cpp165 行定义.

◆ loadFromFile()

int eve::map::Map::loadFromFile ( const std::string &  path)

Same as newLayerFromFile but returns how many layers were created (0 on failure).

在文件 Map.cpp56 行定义.

引用了 eve::map::loadMapFile() , 以及 setObjects().

◆ Module_REG()

eve::map::Map::Module_REG ( Map  )

◆ newFov()

Fov * eve::map::Map::newFov ( TileLayer layer)

FOV bound to a TileLayer (syncs opacity from opaque GIDs).

在文件 Map.cpp33 行定义.

引用了 layer.

◆ newFovSize()

Fov * eve::map::Map::newFovSize ( int  mapW,
int  mapH 
)

Custom grid FOV (no layer); fill with setOpaque.

在文件 Map.cpp38 行定义.

◆ newFovVolume()

Fov * eve::map::Map::newFovVolume ( int  mapW,
int  mapH,
int  depth 
)

Volume FOV (W×H×D voxels); mode defaults to volume.

在文件 Map.cpp43 行定义.

引用了 depth.

◆ newLayer()

TileLayer * eve::map::Map::newLayer ( int  mapW,
int  mapH,
float  tileW = 32.f,
float  tileH = 32.f 
)

在文件 Map.cpp19 行定义.

引用了 eve::map::TileLayer::createLayer(), tileH , 以及 tileW.

◆ newLayerFromFile()

TileLayer * eve::map::Map::newLayerFromFile ( const std::string &  path)

Load map JSON (Tiled-compatible subset or EVEngine simplified format). Creates one TileLayer per tile layer; returns the first (nullptr on failure). Refreshes the module object cache from objectgroup layers.

在文件 Map.cpp48 行定义.

引用了 eve::map::loadMapFile() , 以及 setObjects().

◆ newPathfinder()

Pathfinder * eve::map::Map::newPathfinder ( TileLayer layer)

Pathfinder bound to a TileLayer (syncs walkability from GIDs).

在文件 Map.cpp23 行定义.

引用了 layer.

◆ newPathfinderSize()

Pathfinder * eve::map::Map::newPathfinderSize ( int  mapW,
int  mapH 
)

Custom grid pathfinder (no layer); fill with setBlocked / setCellCost.

在文件 Map.cpp28 行定义.

◆ pollConfigs()

int eve::map::Map::pollConfigs ( )

在文件 Map.cpp77 行定义.

引用了 eve::map::TileConfigSystem::poll().

◆ render()

◆ resolveDualGrid()

bool eve::map::Map::resolveDualGrid ( TileLayer logic,
TileLayer display 
)

Dual-grid resolve: paint logic (filled/empty), fill display with 15-tile autotiles on a half-offset grid. See DualGrid.h. filledGid 0 = any non-zero logic cell counts as filled.

在文件 Map.cpp131 行定义.

引用了 ok , 以及 eve::map::resolveDualGrid().

◆ resolveDualGridFilled()

bool eve::map::Map::resolveDualGridFilled ( TileLayer logic,
TileLayer display,
int  filledGid 
)

在文件 Map.cpp137 行定义.

引用了 eve::map::DualGridOptions::filledGid, ok , 以及 eve::map::resolveDualGrid().

◆ setObjects()

void eve::map::Map::setObjects ( std::vector< MapObject objects)

Replace object cache (used by load / hot reload).

在文件 Map.cpp92 行定义.

被这些函数引用 loadFromFile() , 以及 newLayerFromFile().

◆ update()

void eve::map::Map::update ( float  dt)

在文件 Map.cpp64 行定义.

引用了 eve::map::TileConfigSystem::poll().


该类的文档由以下文件生成: