载入中...
搜索中...
未找到
HouseComponentLibrary.h
浏览该文件的文档.
1#pragma once
2
4
5#include <string>
6#include <unordered_map>
7#include <vector>
8
9namespace eve::housegen {
10
13public:
15 bool loadFromJson(const std::string &json, std::string *error = nullptr);
16 bool loadFromFile(const std::string &filename, std::string *error = nullptr);
18 bool registerComponent(const HouseComponent &component, std::string *error = nullptr);
20 void clear();
22 const HouseComponent *find(const std::string &id) const;
24 std::vector<std::string> ids() const;
26 std::vector<const HouseComponent *> byCategory(const std::string &category,
27 const std::string &style = {}) const;
29 int count() const;
30
31private:
32 std::unordered_map<std::string, HouseComponent> components_;
33};
34
35} // namespace eve::housegen
std::string error
房屋组件注册表(按 id 索引,支持分类/风格查询)。
bool loadFromFile(const std::string &filename, std::string *error=nullptr)
bool loadFromJson(const std::string &json, std::string *error=nullptr)
从 JSON / 文件加载组件。
bool registerComponent(const HouseComponent &component, std::string *error=nullptr)
注册单个组件(id 重复会报错)。
std::vector< std::string > ids() const
全部组件 id。
const HouseComponent * find(const std::string &id) const
按 id 查询组件。
std::vector< const HouseComponent * > byCategory(const std::string &category, const std::string &style={}) const
按分类(可选风格)查询组件。
房屋组件模板(几何 + 连接点 + 权重)。