载入中...
搜索中...
未找到
eve::building::BuildingRegistry类 参考

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()

void eve::building::BuildingRegistry::clear ( )
static

Clears .

在文件 BuildingDef.cpp 第 107 行定义.

被这些函数引用 eve::building::Building::clearBuildingDefinitions().

◆ count()

int eve::building::BuildingRegistry::count ( )
static

Returns the number of .

在文件 BuildingDef.cpp 第 109 行定义.

引用了 size.

被这些函数引用 eve::building::Building::getBuildingDefinitionCount().

◆ find()

const BuildingDefinition * eve::building::BuildingRegistry::find ( const std::string &  id)
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()

int eve::building::BuildingRegistry::loadFromJson ( const std::string &  json,
std::string *  error = nullptr 
)
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()

◆ remove()

bool eve::building::BuildingRegistry::remove ( const std::string &  id)
static

Removes .

在文件 BuildingDef.cpp 第 105 行定义.


该类的文档由以下文件生成: