#include <BuildingDef.h>
静态 Public 成员函数 | |
| static void | registerBuilding (const BuildingDefinition &def) |
| static const BuildingDefinition * | find (const std::string &id) |
| static bool | remove (const std::string &id) |
| static void | clear () |
| static int | count () |
| static int | loadFromJson (const std::string &json, std::string *error=nullptr) |
| 从 JSON 数组或单对象批量注册,返回成功数量。 元素形如: { "id": "house.wood", "displayName": "木屋", "category": "housing", "footprintW": 2, "footprintH": 2, "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.h 第 12 行定义.
成员函数说明
◆ clear()
|
static |
在文件 BuildingDef.cpp 第 88 行定义.
被这些函数引用 eve::building::Building::clearBuildingDefinitions().
◆ count()
|
static |
在文件 BuildingDef.cpp 第 90 行定义.
被这些函数引用 eve::building::Building::getBuildingDefinitionCount().
◆ find()
|
static |
在文件 BuildingDef.cpp 第 80 行定义.
被这些函数引用 eve::building::Building::buildingHasTag(), eve::building::PlacementSystem::ensureBuiltins(), eve::building::Building::getBuildingCategory(), eve::building::Building::getBuildingChannel(), eve::building::Building::getBuildingCost(), eve::building::Building::getBuildingDisplayName(), eve::building::Building::getBuildingExtra(), eve::building::Building::getBuildingFootprintH(), eve::building::Building::getBuildingFootprintW(), 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::PlacementSystem::normalizeRotation(), eve::building::PlacementSystem::snap(), eve::buildingfx::BuildingFx::sync() , 以及 eve::buildingfx::BuildingFx::updateGhost().
◆ loadFromJson()
|
static |
从 JSON 数组或单对象批量注册,返回成功数量。 元素形如: { "id": "house.wood", "displayName": "木屋", "category": "housing", "footprintW": 2, "footprintH": 2, "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 第 126 行定义.
引用了 eve::json::Value::at(), error, eve::building::BuildingDefinition::id, eve::json::Value::isArray(), eve::json::Value::isObject(), n, eve::json::Document::parse(), registerBuilding(), eve::json::Document::root(), eve::json::Value::size() , 以及 eve::json::Document::valid().
被这些函数引用 eve::building::Building::registerBuildingsFromJson().
◆ registerBuilding()
|
static |
在文件 BuildingDef.cpp 第 64 行定义.
引用了 eve::building::BuildingDefinition::displayName, eve::building::BuildingDefinition::footprintH, eve::building::BuildingDefinition::footprintMask, eve::building::BuildingDefinition::footprintW, eve::building::BuildingDefinition::id, eve::building::BuildingDefinition::rotationMode, eve::building::BuildingDefinition::snapMode , 以及 eve::building::BuildingDefinition::validateRule.
被这些函数引用 loadFromJson().
◆ remove()
|
static |
在文件 BuildingDef.cpp 第 86 行定义.
该类的文档由以下文件生成:
- src/modules/building/BuildingDef.h
- src/modules/building/BuildingDef.cpp