载入中...
搜索中...
未找到
DualGrid.cpp
浏览该文件的文档.
ECS tile layer entity. Script mutates tile GIDs / tileset / draw; TileRenderSystem batch-draws atlas ...
Definition TileLayer.h:30
void resize(int mapW, int mapH)
Resizes the tile grid (existing GIDs preserved where possible).
Definition TileLayer.cpp:44
void setTileSize(float tileW, float tileH)
Definition TileLayer.cpp:38
放置世界:格子占用(多通道)+ 地形语义 + 已放置建筑实例。 行为由 PlacementSystem 提供;本类暴露便于脚本绑定的薄封装方法。 坐标换算统一走 eve::grid(支持 rectang...
Definition PlacementWorld.h:16
@ Hexagonal
@ Orthogonal
@ Isometric
@ Staggered
int dualGridMaskAt(TileLayer &logic, int dx, int dy, int filledGid)
4-bit corner mask for display cell (dx,dy) on a (logicW+1)×(logicH+1) grid. Samples logic (dx-1,...
Definition DualGrid.cpp:72
bool dualGridLogicFilled(TileLayer &logic, int tx, int ty, int filledGid)
Whether logic cell (tx,ty) is filled under options. Out of bounds → false.
Definition DualGrid.cpp:63
int dualGridDefaultFrame(int mask)
Default 4x4 atlas frame index for mask 0..15. -1 means draw nothing. Matches the SpriteCook / common ...
Definition DualGrid.cpp:33
int dualGridMaskFromCorners(bool tl, bool tr, bool bl, bool br)
Pack four corner occupancy bits: TL=1, TR=2, BL=4, BR=8.
Definition DualGrid.h:48
uint32_t tileGid(uint32_t raw)
Strip Tiled flip / rotate flags; keep low 28 bits.
Definition TileLayer.h:161
void dualGridHalfOffset(const TileLayer::Config &cfg, float &offX, float &offY)
Half-step origin delta for the display layer (added to logic origin). Orthogonal: (-tileW/2,...
Definition DualGrid.cpp:38
bool resolveDualGrid(TileLayer *logic, TileLayer *display, const DualGridOptions &opts, std::string *error)
Resolve logic → display dual-grid tiles. Resizes display to (logicW+1)×(logicH+1),...
Definition DualGrid.cpp:80
const std::array< int, 16 > & dualGridDefaultFrameTable()
Copy of the default frame table (16 entries).
Definition DualGrid.cpp:31
bool hideLogic
Hide the logic layer after resolve (logic stays for gameplay queries).
Definition DualGrid.h:39
int filledGid
0 = any non-zero logic GID counts as filled; else only this GID.
Definition DualGrid.h:30
bool applyHalfOffset
Apply projection-correct half-step origin offset on the display layer.
Definition DualGrid.h:37
int firstDisplayGid
GID of atlas local id 0 on the display tileset. 0 = use display->getTilesetFirstGid() (fallback 1).
Definition DualGrid.h:35
bool useDefaultFrameTable
When true, use the default SpriteCook-style 4x4 atlas frame table. When false, GID = firstDisplayGid ...
Definition DualGrid.h:44
Definition TileLayer.h:36