ECS tile layer entity. Script mutates tile GIDs / tileset / draw; TileRenderSystem batch-draws atlas quads (or solid debug colors when no texture). 更多...
#include <TileLayer.h>
类 | |
| struct | Config |
| struct | Draw |
| struct | Resource |
| struct | Tiles |
| struct | Tileset |
Public 成员函数 | |
| void | release () override |
| void | setOrigin (float x, float y) |
| World origin of the layer (pixels). | |
| float | getX () |
| float | getY () |
| int | getMapWidth () |
| Map dimensions in tiles. | |
| int | getMapHeight () |
| float | getTileWidth () |
| Tile size in pixels. | |
| float | getTileHeight () |
| void | setTileSize (float tileW, float tileH) |
| void | resize (int mapW, int mapH) |
| Resizes the tile grid (existing GIDs preserved where possible). | |
| void | setTile (int tx, int ty, int gid) |
| Tile GID access; 0 = empty. | |
| int | getTile (int tx, int ty) |
| void | fill (int gid) |
| Fills the whole layer with one GID. | |
| void | clear () |
| Clears the layer to empty. | |
| void | setTileset (graphics::Texture *texture, int firstGid, int columns, int margin=0, int spacing=0) |
| Binds the atlas texture and tile table. | |
| void | setTilesetTileSize (int tileW, int tileH) |
| Tile size in pixels of the bound tileset. | |
| graphics::Texture * | getTilesetTexture () |
| Bound tileset accessors. | |
| int | getTilesetFirstGid () |
| int | getTilesetColumns () |
| void | setCanvas (graphics::Canvas *canvas) |
| Draw target canvas / camera. | |
| void | setCamera (graphics::Camera2D *camera) |
| void | setLayer (int layer) |
| Draw order layer / visibility / tint. | |
| int | getLayer () |
| void | setVisible (bool visible) |
| bool | isVisible () |
| void | setTint (float r, float g, float b, float a=1.f) |
| bool | applyConfig (const std::string &json) |
| Applies a map JSON config (Config + Tiles + Tileset + Draw). | |
| bool | loadConfig (const std::string &path) |
| Loads a config file and binds it for hot reload. | |
| bool | reloadConfig () |
| Re-reads the bound config file (hot reload). | |
| void | setAutoReload (bool enable) |
| Enables/disables automatic config hot reload. | |
| bool | getAutoReload () |
| std::string | getConfigPath () |
| Path of the bound config file. | |
| void | tileToWorld (int tx, int ty, float &wx, float &wy) |
| Tile-index ↔ world-pixel conversions (per layer orientation). | |
| float | depthY (int tx, int ty) |
| Painter's-algorithm depth for 2.5D draw ordering. | |
| void | worldToTile (float wx, float wy, int &tx, int &ty) |
| float | tileToWorldX (int tx, int ty) |
| Scalar conversion helpers. | |
| float | tileToWorldY (int tx, int ty) |
| float | depthYAt (int tx, int ty) |
| int | worldToTileX (float wx, float wy) |
| int | worldToTileY (float wx, float wy) |
静态 Public 成员函数 | |
| static TileLayer * | createLayer (int mapW, int mapH, float tileW=32.f, float tileH=32.f) |
详细描述
ECS tile layer entity. Script mutates tile GIDs / tileset / draw; TileRenderSystem batch-draws atlas quads (or solid debug colors when no texture).
GID 0 = empty. Tiled flip flags (high bits) are masked on read/draw.
在文件 TileLayer.h 第 30 行定义.
成员函数说明
◆ applyConfig()
| bool eve::map::TileLayer::applyConfig | ( | const std::string & | json | ) |
◆ clear()
| void eve::map::TileLayer::clear | ( | ) |
◆ createLayer()
|
static |
在文件 TileLayer.cpp 第 12 行定义.
引用了 resize(), setTileSize(), tileH , 以及 tileW.
被这些函数引用 eve::map::Map::newLayer().
◆ depthY()
| float eve::map::TileLayer::depthY | ( | int | tx, |
| int | ty | ||
| ) |
◆ depthYAt()
| float eve::map::TileLayer::depthYAt | ( | int | tx, |
| int | ty | ||
| ) |
在文件 TileLayer.cpp 第 141 行定义.
引用了 depthY().
◆ fill()
| void eve::map::TileLayer::fill | ( | int | gid | ) |
◆ getAutoReload()
| bool eve::map::TileLayer::getAutoReload | ( | ) |
在文件 TileLayer.cpp 第 116 行定义.
◆ getConfigPath()
| std::string eve::map::TileLayer::getConfigPath | ( | ) |
Path of the bound config file.
在文件 TileLayer.cpp 第 117 行定义.
◆ getLayer()
| int eve::map::TileLayer::getLayer | ( | ) |
在文件 TileLayer.cpp 第 100 行定义.
被这些函数引用 eve::map::resolveDualGrid().
◆ getMapHeight()
| int eve::map::TileLayer::getMapHeight | ( | ) |
在文件 TileLayer.cpp 第 34 行定义.
被这些函数引用 eve::map::applyConfigDocument(), eve::map::applyConfigText() , 以及 eve::map::resolveDualGrid().
◆ getMapWidth()
| int eve::map::TileLayer::getMapWidth | ( | ) |
Map dimensions in tiles.
在文件 TileLayer.cpp 第 33 行定义.
被这些函数引用 eve::map::applyConfigDocument(), eve::map::applyConfigText() , 以及 eve::map::resolveDualGrid().
◆ getTile()
| int eve::map::TileLayer::getTile | ( | int | tx, |
| int | ty | ||
| ) |
◆ getTileHeight()
| float eve::map::TileLayer::getTileHeight | ( | ) |
在文件 TileLayer.cpp 第 36 行定义.
被这些函数引用 eve::map::resolveDualGrid().
◆ getTilesetColumns()
| int eve::map::TileLayer::getTilesetColumns | ( | ) |
在文件 TileLayer.cpp 第 94 行定义.
◆ getTilesetFirstGid()
| int eve::map::TileLayer::getTilesetFirstGid | ( | ) |
在文件 TileLayer.cpp 第 93 行定义.
◆ getTilesetTexture()
| graphics::Texture * eve::map::TileLayer::getTilesetTexture | ( | ) |
Bound tileset accessors.
在文件 TileLayer.cpp 第 92 行定义.
◆ getTileWidth()
| float eve::map::TileLayer::getTileWidth | ( | ) |
◆ getX()
| float eve::map::TileLayer::getX | ( | ) |
在文件 TileLayer.cpp 第 30 行定义.
被这些函数引用 eve::map::resolveDualGrid().
◆ getY()
| float eve::map::TileLayer::getY | ( | ) |
在文件 TileLayer.cpp 第 31 行定义.
被这些函数引用 eve::map::resolveDualGrid().
◆ isVisible()
| bool eve::map::TileLayer::isVisible | ( | ) |
在文件 TileLayer.cpp 第 103 行定义.
◆ loadConfig()
| bool eve::map::TileLayer::loadConfig | ( | const std::string & | path | ) |
Loads a config file and binds it for hot reload.
在文件 TileLayer.cpp 第 111 行定义.
◆ release()
|
inlineoverride |
在文件 TileLayer.h 第 34 行定义.
◆ reloadConfig()
| bool eve::map::TileLayer::reloadConfig | ( | ) |
Re-reads the bound config file (hot reload).
在文件 TileLayer.cpp 第 113 行定义.
◆ resize()
| void eve::map::TileLayer::resize | ( | int | mapW, |
| int | mapH | ||
| ) |
Resizes the tile grid (existing GIDs preserved where possible).
在文件 TileLayer.cpp 第 44 行定义.
被这些函数引用 createLayer() , 以及 eve::map::resolveDualGrid().
◆ setAutoReload()
| void eve::map::TileLayer::setAutoReload | ( | bool | enable | ) |
Enables/disables automatic config hot reload.
在文件 TileLayer.cpp 第 115 行定义.
◆ setCamera()
| void eve::map::TileLayer::setCamera | ( | graphics::Camera2D * | camera | ) |
在文件 TileLayer.cpp 第 97 行定义.
被这些函数引用 eve::map::resolveDualGrid().
◆ setCanvas()
| void eve::map::TileLayer::setCanvas | ( | graphics::Canvas * | canvas | ) |
◆ setLayer()
| void eve::map::TileLayer::setLayer | ( | int | layer | ) |
Draw order layer / visibility / tint.
在文件 TileLayer.cpp 第 99 行定义.
引用了 layer.
被这些函数引用 eve::map::resolveDualGrid().
◆ setOrigin()
| void eve::map::TileLayer::setOrigin | ( | float | x, |
| float | y | ||
| ) |
World origin of the layer (pixels).
在文件 TileLayer.cpp 第 25 行定义.
被这些函数引用 eve::map::resolveDualGrid().
◆ setTile()
| void eve::map::TileLayer::setTile | ( | int | tx, |
| int | ty, | ||
| int | gid | ||
| ) |
◆ setTileset()
| void eve::map::TileLayer::setTileset | ( | graphics::Texture * | texture, |
| int | firstGid, | ||
| int | columns, | ||
| int | margin = 0, |
||
| int | spacing = 0 |
||
| ) |
◆ setTilesetTileSize()
| void eve::map::TileLayer::setTilesetTileSize | ( | int | tileW, |
| int | tileH | ||
| ) |
◆ setTileSize()
| void eve::map::TileLayer::setTileSize | ( | float | tileW, |
| float | tileH | ||
| ) |
在文件 TileLayer.cpp 第 38 行定义.
被这些函数引用 createLayer() , 以及 eve::map::resolveDualGrid().
◆ setTint()
| void eve::map::TileLayer::setTint | ( | float | r, |
| float | g, | ||
| float | b, | ||
| float | a = 1.f |
||
| ) |
在文件 TileLayer.cpp 第 105 行定义.
◆ setVisible()
| void eve::map::TileLayer::setVisible | ( | bool | visible | ) |
在文件 TileLayer.cpp 第 102 行定义.
被这些函数引用 eve::map::resolveDualGrid().
◆ tileToWorld()
| void eve::map::TileLayer::tileToWorld | ( | int | tx, |
| int | ty, | ||
| float & | wx, | ||
| float & | wy | ||
| ) |
Tile-index ↔ world-pixel conversions (per layer orientation).
在文件 TileLayer.cpp 第 119 行定义.
被这些函数引用 tileToWorldX() , 以及 tileToWorldY().
◆ tileToWorldX()
| float eve::map::TileLayer::tileToWorldX | ( | int | tx, |
| int | ty | ||
| ) |
◆ tileToWorldY()
| float eve::map::TileLayer::tileToWorldY | ( | int | tx, |
| int | ty | ||
| ) |
在文件 TileLayer.cpp 第 135 行定义.
引用了 tileToWorld().
◆ worldToTile()
| void eve::map::TileLayer::worldToTile | ( | float | wx, |
| float | wy, | ||
| int & | tx, | ||
| int & | ty | ||
| ) |
在文件 TileLayer.cpp 第 125 行定义.
被这些函数引用 worldToTileX() , 以及 worldToTileY().
◆ worldToTileX()
| int eve::map::TileLayer::worldToTileX | ( | float | wx, |
| float | wy | ||
| ) |
在文件 TileLayer.cpp 第 143 行定义.
引用了 worldToTile().
◆ worldToTileY()
| int eve::map::TileLayer::worldToTileY | ( | float | wx, |
| float | wy | ||
| ) |
在文件 TileLayer.cpp 第 149 行定义.
引用了 worldToTile().
该类的文档由以下文件生成:
- src/modules/map/TileLayer.h
- src/modules/map/TileLayer.cpp