Files
joywayer 35216f75e7 feat: integrate room framework and isolated subgame bundles
Complete room UI and protocol integration, move game definitions and resources behind bundle entries, publish authoritative version XML, and document single-game builds. Include all current resource changes and experiment artifacts.
2026-09-09 03:13:18 +08:00

2.1 KiB
Raw Permalink Blame History

当前架构与实施状态

返回框架目录。核对日期:2026-09-09。

目录职责

  • 工程内 assets/framework:可复用的协议、状态、SDK、公共展示能力。
  • 工程内 assets/app:通用 Bundle 入口解析、游戏选择、XML 身份组装,不导入具体游戏。
  • 工程内 assets/games:当前实际的子游戏代码与资源。
  • 工程内 assets/scripts/platform-login:当前引擎 UI 适配和公共组件,包括 CreateRoomPage、GameComposition;虽然路径有历史名称,也不能为每款游戏增加具体实现分支。
  • 工程 extensions:构建扩展,不侵入运行时框架。

这里的目录名称用于定位开发职责,完整接入说明见子游戏指南。

已实现

各子游戏通过自己的 GameDefinition 和 GameEntry_ 提供工厂、配置及组件类型,SubgameAssets 按 gameKey 动态加载入口及两份私有 prefab。公共承载场景仍在启动组件中绑定。平台接收注入的身份和入口,不内置具体游戏 ID。XML value 提供数值 versionCode,name 提供展示 version。

创建页面继承 CreateRoomPage,仅提交子游戏编码的 roomtype。平台保存和转发不透明 roomtype,具体游戏解释玩法。房间模块使用 room/messages/ui/scope 能力,结束时解除其资源和订阅。

构建扩展读取实际启动场景的游戏选择,验证 XML 与资源包,向 Web 根目录复制相同字节的 version.xml。

尚未完成

  • gameKey 尚未自动同步构建 Bundle 勾选项;当前需在构建面板显式保留公共 resources、目标游戏及版本包。
  • 发布环境配置仍有历史 profiles.ts 来源,尚需迁移至应用发布配置;不能将每次改框架配置当作正式多游戏构建方案。
  • 二七王创建房间与房间入口已接通,完整牌局消息、结算、deskinfo 画面恢复未完成。
  • 房间音频所有权能力尚未接入。

房间架构设计与旧 API 迁移说明保留详细设计;其中规划项需对照本页,不能承诺为现有功能。