载入中...
搜索中...
未找到
BuildingDef.cpp
浏览该文件的文档.
static void registerBuilding(const BuildingDefinition &def)
Registers building.
Definition BuildingDef.cpp:68
static int loadFromJson(const std::string &json, std::string *error=nullptr)
从 JSON 数组或单对象批量注册,返回成功数量。 元素形如: { "id": "house.wood", "displayName": "木屋", "category": "housing",...
Definition BuildingDef.cpp:178
static Document parse(const std::string &text, std::string *error=nullptr)
Parse.
Definition Json.cpp:581
建筑放置模块入口:定义 / 放置世界 / 鬼影 / 变更事件的脚本绑定点。 设计文档:docs/dev/建筑放置系统设计.md
Definition Building.cpp:7
std::string placementKind
Placement domain: cell (default), edge, corner, or free.
Definition BuildingTypes.h:110
std::unordered_map< std::string, std::string > visual2d
Definition BuildingTypes.h:152
std::vector< float > freeFootprintVertices
Optional convex local polygon as x/y pairs in grid-cell units, centered on the free anchor.
Definition BuildingTypes.h:118
std::unordered_map< std::string, int > cost
Definition BuildingTypes.h:149
std::unordered_map< std::string, std::string > visual3d
Definition BuildingTypes.h:154
std::string supportMode
Structural support policy: none, cell_below, or corner_below.
Definition BuildingTypes.h:124
float freeFootprintHeightCells
Optional oriented-box height in grid-cell units; positive width and height select OBB collision.
Definition BuildingTypes.h:116
bool maskAt(int localX, int localY) const
占地掩码在局部坐标 (localX, localY) 处是否占用。
Definition BuildingDef.cpp:42
std::unordered_map< std::string, std::string > extra
Definition BuildingTypes.h:150
std::string getVisual2d(const std::string &key, const std::string &fallback={}) const
Returns the visual 2 d.
Definition BuildingDef.cpp:25
int getCost(const std::string &resource, int fallback=0) const
Returns the cost.
Definition BuildingDef.cpp:37
std::string getExtra(const std::string &key, const std::string &fallback={}) const
Returns the extra.
Definition BuildingDef.cpp:19
float maxSurfaceSlopeDegrees
Maximum angle between a footprint normal and the grid-plane up axis.
Definition BuildingTypes.h:138
std::vector< uint8_t > footprintMask
可选占地掩码,长度 footprintW*footprintH;空表示实心矩形。行主序、原点在最小 x/y。
Definition BuildingTypes.h:130
float freeRadiusCells
Circular free-domain collision radius measured in grid-cell units.
Definition BuildingTypes.h:112
std::vector< std::string > tags
Definition BuildingTypes.h:141
float freeFootprintWidthCells
Optional oriented-box width in grid-cell units; positive width and height select OBB collision.
Definition BuildingTypes.h:114
std::string getVisual3d(const std::string &key, const std::string &fallback={}) const
Returns the visual 3 d.
Definition BuildingDef.cpp:31
void setProp(const std::string &key, const std::string &value)
Sets the prop.
Definition BuildingDef.cpp:59
std::string getProp(const std::string &key, const std::string &fallback={}) const
Returns the prop.
Definition BuildingDef.cpp:54
std::unordered_map< std::string, std::string > props
Definition BuildingTypes.h:228