# Demo2《规则工厂》 独立于 Demo1 的 Unity Entities 生产、防御与有序规则构筑 Demo。入口场景为 `Assets/Demos/Demo2/Demo2.unity`,Prefab 为 `Assets/Demos/Demo2/Prefabs/Demo2Root.prefab`。 ## 一局流程 一局固定 5 个周期,每周期依次经过 60 秒建造、90 秒生产、约 20 秒自动防御和三选一规则奖励。核心初始 3 点耐久。火力按 `载荷 × 倍率` 结算;规则槽最多 5 个,并严格从左到右执行。 基础生产链为:采集器 → 传送带/分流器 → 熔炼机 → 组装机 → 弹药装填器 → 自动炮塔。成功防守会把超额火力转为建造资金,并提供规则牌和机器升级。 ## 运行 1. 在 Unity 2022.3.62f3 打开工程。 2. 打开 `Assets/Demos/Demo2/Demo2.unity`。 3. 进入 Play Mode,选择单人、创建 LAN 房间或直接 IP 加入。 首次单人对局会启动 ShrinkTutorial 教程。标题、大厅、工厂、奖励、胜利/失败均由同一入口场景中 Prefab 挂载的 UI Toolkit `UIDocument` 提供。 ## 模块 - `Domain`:纯 C# 定义、规则、指令、整数饱和计算、网络与存档 DTO。 - `ECS`:隔离的 Entities World、固定系统顺序、快照与状态哈希。 - `Runtime`:玩法流程、UI Toolkit、批量绘制、LAN、SDK 服务、命令和教程信号。 - `Editor`:场景/Prefab/教程资源生成器与 Unity Headless Server 构建入口。 - `Mods/NightShiftProtocol`:可运行的示例 Mod。 - `Tests`:EditMode 确定性、压力、规则、快照测试与 PlayMode 完整流程测试。 详细契约见 `Docs/ARCHITECTURE.md`、`Docs/RULES.md`、`Docs/NETWORKING.md`、`Docs/MODDING.md` 和 `Docs/HEADLESS.md`。