EVENGINE_API_WORLD public API. 更多...
#include <BuildingDef.h>
静态 Public 成员函数 | |
| static void | registerBuilding (const BuildingDefinition &def) |
| Registers building. | |
| static const BuildingDefinition * | find (const std::string &id) |
| Finds . | |
| static bool | remove (const std::string &id) |
| Removes . | |
| static void | clear () |
| Clears . | |
| static int | count () |
| Returns the number of . | |
| static int | loadFromJson (const std::string &json, std::string *error=nullptr) |
| 从 JSON 数组或单对象批量注册,返回成功数量。 元素形如: { "id": "house.wood", "displayName": "木屋", "category": "housing", "footprintW": 2, "footprintH": 2, "freeFootprintWidthCells": 2.0, "freeFootprintHeightCells": 0.75, "freeFootprintVertices": [-1,0, 0,-0.5, 1,0, 0,0.5], "snapMode": "grid", "rotationMode": "cardinal", "validateRule": "default", "tags": ["house"], "requireTerrain": [1], "forbidTerrain": [2], "requireAdjacentTag": "road", "requireAdjacentTerrain": -1, "cost": {"wood": 20, "gold": 5}, "footprintMask": [1,1,1,0], "extra": {"mesh": "models/house.glb"} } | |
详细描述
EVENGINE_API_WORLD public API.
在文件 BuildingDef.h 第 15 行定义.
成员函数说明
◆ clear()
|
static |
Clears .
在文件 BuildingDef.cpp 第 107 行定义.
被这些函数引用 eve::building::Building::clearBuildingDefinitions().
◆ count()
|
static |
Returns the number of .
在文件 BuildingDef.cpp 第 109 行定义.
引用了 size.
被这些函数引用 eve::building::Building::getBuildingDefinitionCount().
◆ find()
|
static |
Finds .
在文件 BuildingDef.cpp 第 99 行定义.
引用了 t.
被这些函数引用 eve::building_editing::BuildingPlacementTarget::applyDomainOperation(), eve::building::PlacementSession::beginEdgePath(), eve::building::Building::buildingHasTag(), eve::building::PlacementSystem::ensureBuiltins(), eve::building::PlacementSession::execute(), eve::building::Building::getBuildingCategory(), eve::building::Building::getBuildingChannel(), eve::building::Building::getBuildingConnectionGroup(), eve::building::Building::getBuildingCost(), eve::building::Building::getBuildingDisplayName(), eve::building::Building::getBuildingExtra(), eve::building::Building::getBuildingFootprintH(), eve::building::Building::getBuildingFootprintW(), eve::building::Building::getBuildingPlacementKind(), eve::building::Building::getBuildingRenderMode(), eve::building::Building::getBuildingRotationMode(), eve::building::Building::getBuildingSnapMode(), eve::building::Building::getBuildingValidateRule(), eve::building::Building::getBuildingVisual2d(), eve::building::Building::getBuildingVisual3d(), eve::building::Building::hasBuildingDefinition(), eve::building_editing::BuildingPlacementTarget::makeReplace(), eve::building::PlacementSystem::normalizeRotation(), eve::building_editing::BuildingPlacementTarget::preview(), eve::building::PlacementSystem::sampleSurfacePatch(), eve::building::Ghost::setFromSurface(), eve::building::PlacementSystem::snap(), eve::buildingfx::BuildingFx::sync(), eve::buildingfx::BuildingFx::updateEdgeCurvePreview(), eve::buildingfx::BuildingFx::updateEdgeCurveSurfacePreview(), eve::buildingfx::BuildingFx::updateGhost() , 以及 eve::building::Ghost::validate().
◆ loadFromJson()
|
static |
从 JSON 数组或单对象批量注册,返回成功数量。 元素形如: { "id": "house.wood", "displayName": "木屋", "category": "housing", "footprintW": 2, "footprintH": 2, "freeFootprintWidthCells": 2.0, "freeFootprintHeightCells": 0.75, "freeFootprintVertices": [-1,0, 0,-0.5, 1,0, 0,0.5], "snapMode": "grid", "rotationMode": "cardinal", "validateRule": "default", "tags": ["house"], "requireTerrain": [1], "forbidTerrain": [2], "requireAdjacentTag": "road", "requireAdjacentTerrain": -1, "cost": {"wood": 20, "gold": 5}, "footprintMask": [1,1,1,0], "extra": {"mesh": "models/house.glb"} }
在文件 BuildingDef.cpp 第 178 行定义.
引用了 error, eve::building::BuildingDefinition::id, n, eve::json::Document::parse(), registerBuilding(), eve::json::Document::root(), root , 以及 eve::json::Document::valid().
被这些函数引用 eve::building::Building::registerBuildingsFromJson().
◆ registerBuilding()
|
static |
Registers building.
在文件 BuildingDef.cpp 第 68 行定义.
引用了 eve::building::BuildingDefinition::displayName, eve::building::BuildingDefinition::footprintH, eve::building::BuildingDefinition::footprintMask, eve::building::BuildingDefinition::footprintW, eve::building::BuildingDefinition::freeFootprintHeightCells, eve::building::BuildingDefinition::freeFootprintVertices, eve::building::BuildingDefinition::freeFootprintWidthCells, eve::building::BuildingDefinition::freeRadiusCells, eve::building::BuildingDefinition::id, eve::building::BuildingDefinition::maxSurfaceSlopeDegrees, eve::building::BuildingDefinition::placementKind, eve::building::BuildingDefinition::rotationMode, eve::building::BuildingDefinition::snapMode, eve::building::BuildingDefinition::supportMode , 以及 eve::building::BuildingDefinition::validateRule.
被这些函数引用 loadFromJson().
◆ remove()
|
static |
Removes .
在文件 BuildingDef.cpp 第 105 行定义.
该类的文档由以下文件生成:
- src/modules/building/BuildingDef.h
- src/modules/building/BuildingDef.cpp