- 将 ShrinkEventBus、ShrinkDataSaver 及其 EventBus 集成从 gitlink 转为仓库直接维护的完整 UPM 包,补齐运行时、编辑器工具、测试与文档 - 新增 Command 和 Network 的 App 集成组件,支持 ContextLoader 服务发布、可逆注销及 Network Loopback 生命周期管理 - 更新 Starter 与演示组合逻辑,缺失模块时可注册、已有兼容安装器时可覆盖,并补充宿主启动断言 - 升级内部包依赖与 Shared CodeGen 包定义,放宽 Integration.App 包的 Git 忽略规则 - 将独立服务器生成器改为基于已编译程序集的语义扫描,支持 partial、复杂泛型、命名冲突检测及模板 SHA-256 覆写保护 - 新增 Network 语义扫描、模板保护和 App 组件生命周期测试 - 新增真实 UPM 消费工程验证脚本,校验内部版本一致性、程序集加载及 EditMode 测试 - 重构当前架构文档并归档已完成的 Cordis 迁移与旧代码地图
Demo2《规则工厂》
独立于 Demo1 的 Unity Entities 生产、防御与有序规则构筑 Demo。入口场景为 Assets/Demos/Demo2/Demo2.unity,Prefab 为 Assets/Demos/Demo2/Prefabs/Demo2Root.prefab。
一局流程
一局固定 5 个周期,每周期依次经过 60 秒建造、90 秒生产、约 20 秒自动防御和三选一规则奖励。核心初始 3 点耐久。火力按 载荷 × 倍率 结算;规则槽最多 5 个,并严格从左到右执行。
基础生产链为:采集器 → 传送带/分流器 → 熔炼机 → 组装机 → 弹药装填器 → 自动炮塔。成功防守会把超额火力转为建造资金,并提供规则牌和机器升级。
运行
- 在 Unity 2022.3.62f3 打开工程。
- 打开
Assets/Demos/Demo2/Demo2.unity。 - 进入 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。