载入中...
搜索中...
未找到
src
modules
building
BuildingDef.h
浏览该文件的文档.
1
#pragma once
2
#include "
common/Export.h
"
3
4
5
// 建筑定义注册表:数据驱动的 BuildingDefinition(C++ 注册或 JSON 批量加载)。
6
7
#include "
building/BuildingTypes.h
"
8
9
#include <string>
10
#include <unordered_map>
11
12
namespace
eve::building
{
13
15
class
EVENGINE_API_WORLD
BuildingRegistry
{
16
public
:
18
static
void
registerBuilding(
const
BuildingDefinition
&def);
20
static
const
BuildingDefinition
*find(
const
std::string &
id
);
22
static
bool
remove(
const
std::string &
id
);
24
static
void
clear();
26
static
int
count
();
27
44
static
int
loadFromJson(
const
std::string &json, std::string *
error
=
nullptr
);
45
46
private
:
47
static
std::unordered_map<std::string, BuildingDefinition> &table();
48
};
49
50
}
// namespace eve::building
BuildingTypes.h
Export.h
EVENGINE_API_WORLD
#define EVENGINE_API_WORLD
Definition
Export.h:109
error
std::string error
Definition
Package.cpp:60
count
std::uint32_t count
Definition
SourceTiff.cpp:24
eve::building::BuildingRegistry
EVENGINE_API_WORLD public API.
Definition
BuildingDef.h:15
eve::building
建筑放置模块入口:定义 / 放置世界 / 鬼影 / 变更事件的脚本绑定点。 设计文档:docs/dev/建筑放置系统设计.md
Definition
Building.cpp:7
eve::building::BuildingDefinition
建筑模板(进程级注册表中的定义)。
Definition
BuildingTypes.h:100