20 lines
1.5 KiB
Markdown
20 lines
1.5 KiB
Markdown
# gameFramework
|
|
|
|
IRONSPORE 的独立标准 C++20 规则库。公共接口位于 `include/irons/gameFramework/Game.hpp`;库与测试均不需要 UE、UBT、UHT、蓝图或引擎头文件。
|
|
|
|
通用构建:
|
|
|
|
```sh
|
|
cmake -S gameFramework -B build-core -DCMAKE_BUILD_TYPE=Release
|
|
cmake --build build-core --config Release
|
|
ctest --test-dir build-core -C Release --output-on-failure
|
|
```
|
|
|
|
本项目 Windows 工具入口为 `Tools/Framework/Build.ps1`。UE 以 VS2022 x64、C++20、Release `/MD`、关闭 RTTI 的配置链接其产物;核心内部处理异常,不向宿主抛出。标准库结构跨模块使用,因此宿主需使用匹配的编译器、运行库和迭代器调试设置。
|
|
|
|
`Session` 是规则权威。UI 读取 const 快照,通过命令完成修改。`IProfileStorage` 与 `IIdGenerator` 由宿主提供;模拟时间、感知距离和视线等事实显式输入。核心不读取系统路径、时钟、引擎全局状态或 Actor。
|
|
|
|
需要持久化的命令先复制候选状态、校验、原子提交,再发布状态和领域事件。普通战斗 Tick 不逐帧写盘。V1 JSON、唯一 UID、预占、待整理区、主动舱以及机毁的两阶段结算均属于核心规则。正式进度和训练进度由宿主隔离。
|
|
|
|
默认目录数据从来源 Unity 基线的普通装备定义生成,保留 9 个装备 ID 和 3 个底盘。第三方 JSON 依赖为 nlohmann/json 3.12.0,许可见 `third_party/nlohmann/LICENSE.MIT`。其锁定来源与哈希在项目素材台账中登记。
|