载入中...
搜索中...
未找到
类 | |
| struct | eve::map::DualGridOptions |
| Dual-grid autotile (Oskar Stålberg style). 更多... | |
命名空间 | |
| namespace | eve |
| namespace | eve::map |
| 放置世界:格子占用(多通道)+ 地形语义 + 已放置建筑实例。 行为由 PlacementSystem 提供;本类暴露便于脚本绑定的薄封装方法。 坐标换算统一走 eve::grid(支持 rectangle / iso / staggered / hex 与 XY/XZ 平面轴)。 | |
函数 | |
| int | eve::map::dualGridMaskFromCorners (bool tl, bool tr, bool bl, bool br) |
| Pack four corner occupancy bits: TL=1, TR=2, BL=4, BR=8. | |
| int | eve::map::dualGridDefaultFrame (int mask) |
| Default 4x4 atlas frame index for mask 0..15. -1 means draw nothing. Matches the SpriteCook / common dual-grid sheet layout. | |
| const std::array< int, 16 > & | eve::map::dualGridDefaultFrameTable () |
| Copy of the default frame table (16 entries). | |
| void | eve::map::dualGridHalfOffset (const TileLayer::Config &cfg, float &offX, float &offY) |
| Half-step origin delta for the display layer (added to logic origin). Orthogonal: (-tileW/2, -tileH/2) Isometric: (0, -tileH/2) — equivalent to logic coords (tx-0.5, ty-0.5) Staggered/Hex Y: (-tileW/2, -pitchY/2) Staggered/Hex X: (-pitchX/2, -tileH/2) | |
| bool | eve::map::dualGridLogicFilled (TileLayer &logic, int tx, int ty, int filledGid) |
| Whether logic cell (tx,ty) is filled under options. Out of bounds → false. | |
| int | eve::map::dualGridMaskAt (TileLayer &logic, int dx, int dy, int filledGid=0) |
| 4-bit corner mask for display cell (dx,dy) on a (logicW+1)×(logicH+1) grid. Samples logic (dx-1,dy-1), (dx,dy-1), (dx-1,dy), (dx,dy) in index space (orientation-independent topology). | |
| bool | eve::map::resolveDualGrid (TileLayer *logic, TileLayer *display, const DualGridOptions &opts, std::string *error=nullptr) |
| Resolve logic → display dual-grid tiles. Resizes display to (logicW+1)×(logicH+1), copies tile size / orientation / stagger / hex from logic, optionally applies projection-correct half-step origin offset, writes GIDs. Returns false and sets error on invalid args. | |
| bool | eve::map::resolveDualGrid (TileLayer *logic, TileLayer *display, std::string *error=nullptr) |
| Convenience: any non-zero filled, default frame table, half offset, hide logic. | |