载入中...
搜索中...
未找到
Map.cpp
浏览该文件的文档.
250 auto fov = table.addClass<Fov>("Fov", std::function<Fov *()>([]() -> Fov * { return nullptr; }),
virtual std::string getName() const =0
Definition Graphics.h:57
static void collectSprites(std::vector< DrawItem2D > &out)
Append visible Renderable2D sprites into a shared queue.
Definition RenderSystem.cpp:197
static void drawItems(Graphics &gfx, std::vector< DrawItem2D > &items, bool present)
Sort and draw items. If present=true, calls gfx.present() at the end. Map::render uses present=false ...
Definition RenderSystem.cpp:257
Dynamic field-of-view / fog-of-war facade. Phase A: 2D shadowcast + multi-revealer + explored memory....
Definition Fov.h:24
bool canDetect(int revealerId, int x, int y, float targetStealth) const
Definition Fov.cpp:1159
void setAlgorithm(const std::string &name)
"shadowcast" | "raycast" | "permissive" | "rectangle"
Definition Fov.cpp:944
void setRadiusMetric(const std::string &name)
"euclidean" | "chebyshev" | "manhattan" — ignored when topology is hex (cube distance).
Definition Fov.cpp:951
void setRevealerEnabled(int id, bool enabled)
Definition Fov.cpp:1124
void setRevealerPosition(int id, int x, int y)
Definition Fov.cpp:1087
float getRevealerPerception(int id) const
Definition Fov.cpp:1140
graphics::Texture * buildMaskTextureSlice(graphics::Graphics *gfx, int sliceZ) const
Definition Fov.cpp:1284
void setRevealerPosition3(int id, int x, int y, int z)
Definition Fov.cpp:1091
void setRevealerPerception(int id, float perception)
Soft RPG hooks (no hard dependency on rpg module). effectiveRadius = radius + floor(perception * perc...
Definition Fov.cpp:1133
void setRevealerFacing(int id, float facingDeg, float halfAngleDeg)
Definition Fov.cpp:1107
void setPerceptionRadiusScale(float scale)
Definition Fov.cpp:1145
void setMode(const std::string &name)
"grid2d" (default) | "heightmap" | "volume"
Definition Fov.cpp:933
bool canDetect3(int revealerId, int x, int y, int z, float targetStealth) const
Definition Fov.cpp:1167
float getPerceptionRadiusScale() const
Definition Fov.cpp:1149
graphics::Texture * buildMaskTexture(graphics::Graphics *gfx) const
Upload current 2D / slice mask as RGBA8 Texture (R=G=B=A=mask byte). Caller owns the returned Texture...
Definition Fov.cpp:1280
void setTopology(const std::string &name)
"ortho" (default) | "hex" | "auto" (hex if bound layer is hex/staggered).
Definition Fov.cpp:958
Map module — factory + script binding for 2D tilemaps. Per-frame: TileConfigSystem (hot reload) → uni...
Definition Map.h:24
TileLayer * newLayerFromFile(const std::string &path)
Load map JSON (Tiled-compatible subset or EVEngine simplified format). Creates one TileLayer per tile...
Definition Map.cpp:48
void setObjects(std::vector< MapObject > objects)
Replace object cache (used by load / hot reload).
Definition Map.cpp:92
int loadFromFile(const std::string &path)
Same as newLayerFromFile but returns how many layers were created (0 on failure).
Definition Map.cpp:56
Pathfinder * newPathfinderSize(int mapW, int mapH)
Custom grid pathfinder (no layer); fill with setBlocked / setCellCost.
Definition Map.cpp:28
TileLayer * getLayer(int index) const
Layer created by the most recent loadFromFile/newLayerFromFile call.
Definition Map.cpp:87
float dualGridOffsetX(TileLayer *logic)
Projection-correct half-step origin delta for a logic layer.
Definition Map.cpp:151
bool resolveDualGridFilled(TileLayer *logic, TileLayer *display, int filledGid)
Definition Map.cpp:137
bool resolveDualGrid(TileLayer *logic, TileLayer *display)
Dual-grid resolve: paint logic (filled/empty), fill display with 15-tile autotiles on a half-offset g...
Definition Map.cpp:131
Pathfinder * newPathfinder(TileLayer *layer)
Pathfinder bound to a TileLayer (syncs walkability from GIDs).
Definition Map.cpp:23
Fov * newFovVolume(int mapW, int mapH, int depth)
Volume FOV (W×H×D voxels); mode defaults to volume.
Definition Map.cpp:43
TileLayer * newLayer(int mapW, int mapH, float tileW=32.f, float tileH=32.f)
Definition Map.cpp:19
Fov * newFovSize(int mapW, int mapH)
Custom grid FOV (no layer); fill with setOpaque.
Definition Map.cpp:38
int dualGridMaskAt(TileLayer *logic, int dx, int dy, int filledGid)
4-bit corner mask at display cell (dx,dy); see DualGrid.h.
Definition Map.cpp:144
Fov * newFov(TileLayer *layer)
FOV bound to a TileLayer (syncs opacity from opaque GIDs).
Definition Map.cpp:33
float getTotalCost() const
Total path cost (A* heuristic + movement cost).
Definition Pathfinder.cpp:609
Pathfinding facade. Single-agent: A*. Group (same goal): Flow Field + follow. Grid/topology internals...
Definition Pathfinder.h:17
void invalidateCache()
Invalidate cached flow field (also called when grid dirties).
Definition Pathfinder.cpp:380
Path * followFlow(FlowField *field, int sx, int sy)
Definition Pathfinder.cpp:533
FlowField * buildFlowField(int gx, int gy)
Build / reuse cached flow field toward goal. Owned by caller.
Definition Pathfinder.cpp:507
void setCellCost(int x, int y, float cost)
Definition Pathfinder.cpp:368
void setTopology(const std::string &name)
Definition Pathfinder.cpp:325
Path * findPath(int sx, int sy, int gx, int gy)
A* from (sx,sy) to (gx,gy). Returns owned Path* (may be empty if unreachable). Never returns nullptr ...
Definition Pathfinder.cpp:446
void setBlocked(int x, int y, bool blocked)
Definition Pathfinder.cpp:361
Path * findGroupPath(int sx, int sy, int gx, int gy)
Group helper: ensure field for goal, then follow from start. Equivalent to buildFlowField + followFlo...
Definition Pathfinder.cpp:567
ECS tile layer entity. Script mutates tile GIDs / tileset / draw; TileRenderSystem batch-draws atlas ...
Definition TileLayer.h:30
bool loadConfig(const std::string &path)
Loads a config file and binds it for hot reload.
Definition TileLayer.cpp:111
void setAutoReload(bool enable)
Enables/disables automatic config hot reload.
Definition TileLayer.cpp:115
void setTileset(graphics::Texture *texture, int firstGid, int columns, int margin=0, int spacing=0)
Binds the atlas texture and tile table.
Definition TileLayer.cpp:71
void resize(int mapW, int mapH)
Resizes the tile grid (existing GIDs preserved where possible).
Definition TileLayer.cpp:44
bool applyConfig(const std::string &json)
Applies a map JSON config (Config + Tiles + Tileset + Draw).
Definition TileLayer.cpp:109
void setTilesetTileSize(int tileW, int tileH)
Tile size in pixels of the bound tileset.
Definition TileLayer.cpp:86
static TileLayer * createLayer(int mapW, int mapH, float tileW=32.f, float tileH=32.f)
Definition TileLayer.cpp:12
void setTileSize(float tileW, float tileH)
Definition TileLayer.cpp:38
void setTint(float r, float g, float b, float a=1.f)
Definition TileLayer.cpp:105
static void collect(std::vector< graphics::DrawItem2D > &out)
Append non-empty visible tiles into a shared 2D draw queue.
Definition TileSystem.cpp:73
放置世界:格子占用(多通道)+ 地形语义 + 已放置建筑实例。 行为由 PlacementSystem 提供;本类暴露便于脚本绑定的薄封装方法。 坐标换算统一走 eve::grid(支持 rectang...
Definition PlacementWorld.h:16
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
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
std::vector< TileLayer * > loadMapFile(const std::string &path, std::vector< MapObject > *objects, std::string *error)
Definition TileConfig.cpp:704
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
int filledGid
0 = any non-zero logic GID counts as filled; else only this GID.
Definition DualGrid.h:30