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.
This commit is contained in:
2026-09-09 03:13:18 +08:00
parent a7ec8aa6a7
commit 35216f75e7
1028 changed files with 835556 additions and 21415 deletions
+8 -2
View File
@@ -214,7 +214,7 @@ else { this.initialBean = _data.initialBean; } // 临时填充:保留原
| 字段 | 类型 | 说明 | 出处 |
|------|------|------|------|
| roomcode | string | 房号 | `07_Desk.js:282` |
| roomcode | string / number | 房号;响应可为数字,见下方入口类型说明 | `07_Desk.js:282` |
| roomtype | array | 房间类型配置(透传) | `07_Desk.js:284` |
| asetcount | int | 总局数(→ Desk.count) | `07_Desk.js:323` |
| isbattle | int | 0未开局/1已开局(→ Desk.stage) | `07_Desk.js:324` |
@@ -255,7 +255,7 @@ else { this.initialBean = _data.initialBean; } // 临时填充:保留原
| 字段 | 说明 | 备注 |
|------|------|------|
| state | 0成功,非0失败 | self_join_room 另有 99=房间不存在 |
| roomcode | 房号 | |
| roomcode | 房号 | string 或非负安全整数;见下方入口类型说明 |
| seat | 自己座位 | |
| isowner | 是否房主 0/1 | |
| roomtype | 房间类型配置数组(透传) | |
@@ -275,6 +275,12 @@ else { this.initialBean = _data.initialBean; } // 临时填充:保留原
---
### roomcode 入口类型说明
实际 `create_room` 响应可返回数字房号(2026-09-08 联调报文类型证据);旧前端直接接收该字段,服务端子游戏入口也按数值解析 roomcode。不能根据 Desk 初始值 `""` 推断所有响应都只返回字符串。
Cocos 在创建、加入及登录恢复的响应解析入口统一把数字房号转为内部字符串标识;字符串原样保留,包括前导零。数字必须为非负安全整数,非法类型显式报错,不补默认房号。原始响应 `raw` 不改写,roomtype 继续原样透传;此适配不要求服务器改动。
## roomtype(房间类型配置数组)⚠️ 子游戏自定义
`Desk.setRoom` 接收并直接保存到 `Desk.roomtype`(`07_Desk.js:166`),创建/进入时原样透传给 `Game_Modify.onCreateDesk` / `Game_Modify.setRoomDes`(`07_Desk.js:358`、`508`、`629`)。**壳框架本身不解析该数组的各位含义**。