载入中...
搜索中...
未找到
BuildingDef.h
浏览该文件的文档.
1#pragma once
2
3// 建筑定义注册表:数据驱动的 BuildingDefinition(C++ 注册或 JSON 批量加载)。
4
6
7#include <string>
8#include <unordered_map>
9
10namespace eve::building {
11
13public:
14 static void registerBuilding(const BuildingDefinition &def);
15 static const BuildingDefinition *find(const std::string &id);
16 static bool remove(const std::string &id);
17 static void clear();
18 static int count();
19
34 static int loadFromJson(const std::string &json, std::string *error = nullptr);
35
36private:
37 static std::unordered_map<std::string, BuildingDefinition> &table();
38};
39
40} // namespace eve::building
std::string error
static void registerBuilding(const BuildingDefinition &def)
static int loadFromJson(const std::string &json, std::string *error=nullptr)
从 JSON 数组或单对象批量注册,返回成功数量。 元素形如: { "id": "house.wood", "displayName": "木屋", "category": "housing",...
static const BuildingDefinition * find(const std::string &id)
static bool remove(const std::string &id)
建筑放置模块入口:定义 / 放置世界 / 鬼影 / 变更事件的脚本绑定点。 设计文档:docs/dev/建筑放置系统设计.md
Definition Building.cpp:7
建筑模板(进程级注册表中的定义)。