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

#include <BuildingDef.h>

静态 Public 成员函数

static void registerBuilding (const BuildingDefinition &def)
 
static const BuildingDefinitionfind (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.h12 行定义.

成员函数说明

◆ clear()

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

在文件 BuildingDef.cpp88 行定义.

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

◆ count()

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

在文件 BuildingDef.cpp90 行定义.

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

◆ find()

◆ 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, "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.cpp126 行定义.

引用了 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()

◆ remove()

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

在文件 BuildingDef.cpp86 行定义.


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