载入中...
搜索中...
未找到
HouseGen.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Result.h"
7
8namespace ssq { class Table; class Class; }
9namespace eve::graphics { class Graphics; }
10namespace eve::model3d { class Model3D; }
11
12namespace eve::housegen {
13
15class HouseGen {
16public:
17 static void expose(ssq::Class &cls);
19 [[nodiscard]] eve::Result<void> loadComponentsFromJson(const std::string &json);
20 [[nodiscard]] eve::Result<void> loadComponentsFromFile(const std::string &filename);
22 void clearComponents();
24 int getComponentCount() const;
26 [[nodiscard]] HouseRequest newRequest() const;
27 [[nodiscard]] HouseLayout newLayout() const;
36 model3d::Model3D &models) const;
38 HouseComponentLibrary &library() { return library_; }
40 const HouseComponentLibrary &library() const { return library_; }
41
42private:
43 HouseComponentLibrary library_;
44};
45
47void exposeHouseGeneration(ssq::Table &table);
48
49} // namespace eve::housegen
HSQOBJECT cls
Definition ECS.cpp:21
std::string layout
const GltfImportRequest & request
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
房屋组件注册表(按 id 索引,支持分类/风格查询)。
程序化房屋生成模块(eve.HouseGen):组件库 + 布局生成。
Definition HouseGen.h:15
eve::Result< void > instantiate(const HouseLayout &layout, graphics::Graphics &gfx, model3d::Model3D &models) const
Instantiate a generated layout through the current component library.
Definition HouseGen.cpp:118
int getComponentCount() const
组件数量。
Definition HouseGen.cpp:20
eve::Result< void > loadComponentsFromJson(const std::string &json)
从 JSON / 文件加载房屋组件库。
Definition HouseGen.cpp:15
void clearComponents()
清空组件库。
Definition HouseGen.cpp:19
static void expose(ssq::Class &cls)
Definition HouseGen.cpp:125
eve::Result< void > generate(const HouseRequest &request, HouseLayout &layout)
按请求生成布局;失败返回结构化诊断。
Definition HouseGen.cpp:23
const HouseComponentLibrary & library() const
Library.
Definition HouseGen.h:40
eve::Result< void > loadComponentsFromFile(const std::string &filename)
Definition HouseGen.cpp:16
HouseLayout newLayout() const
Definition HouseGen.cpp:22
HouseRequest newRequest() const
工厂:生成请求 / 布局。
Definition HouseGen.cpp:21
HouseComponentLibrary & library()
组件库(可直接访问)。
Definition HouseGen.h:38
一次生成的房屋布局:实例 + 房间 + 元信息,可 JSON 序列化 / 实例化。
Definition HouseLayout.h:23
Resource module for decoding 3D models via medialoader (Assimp). Produces ModelData; GPU upload is gr...
Definition Model3D.h:43
卡牌游戏 UI 工具模块:工厂 + 脚本绑定入口。 功能参考 ycarowr/UiCard:扇形手牌布局、抽牌/洗牌、悬浮放大、拖拽到落牌区、 敌方手牌(背面/偷看)、费用不足置灰,以及可实时调节的布局...
Definition Animation.h:25
void exposeHouseGeneration(ssq::Table &table)
Register the procgen-owned house generation compatibility API.
Definition HouseGen.cpp:28
enum EVENGINE_API_FOUNDATION Table
OT_TABLE (editable via Runtime table APIs / ReflectedPropertyModel).
Definition Runtime.h:121
EVEngine ECS 集成层:底层实现使用 sunxfancy/ECS.hpp https://github.com/sunxfancy/ECS.hpp
Definition ECS.h:14
一次房屋生成请求(参数集)。