Files
youle_cocos/docs/房间顶部广播与数字工具接线.md
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

3.0 KiB
Raw Permalink Blame History

房间顶部、广播与数字工具

对应资源:Layer50_MainScene、Layer402_GameNotice、Layer602_inputPannel、Layer607_Cal。服务器代码和既有报文格式未修改。

房间顶部

PlatformStartup 持有资源引用,RoomHud 在房间内创建并随房间销毁。149 背景在子游戏下层,状态节点在上层,避免完整子游戏背景遮住状态。284、3141 打开已有房间信息。普通房每 5 秒切换时间/设备状态和房号;无限房、比赛房不循环。149 隐藏时暂停,冒号每秒改变透明度。

时间和房号使用原图对应 BitmapFont;保留 Android/Apple 字形资源。RoomDeviceStatusAdapter 是原生状态唯一来源:settings 入场读取,后续原生回调更新;WVJB 仅注册原有推送回调,不虚构查询 handler。浏览器来源显式提供满电和原工程默认网络状态。

广播

broadcast 的 msgtype=1、msgcontent 单独进入 roomBroadcasts,不与聊天系统公告混用。支持原协议 agent/room 路由。Layer402 使用 Mask 裁剪,按原工程字节宽度和每秒 100 像素顺序播放,重复消息保留;换房、离房、销毁清队列。点击不跳过广播。

msgtype=0 或协议缺省值仍是即时消息,本次复用现有提示面板,未新增旧 Layer41 弹窗。

数字输入与倍数

数字输入支持按键、删除、粘贴、确认和关闭;最多 18 位。begin0=true 保留前导零并回传字符串,其他情况回传数字。确认是否关闭由调用方控制。房间逃跑数量输入已改用此面板。粘贴过滤非数字,并对超过 18 位的粘贴显式提示(旧版粘贴未统一上限)。

倍数工具最多 8 个字符,内部保留旧 b 小数标记,BitmapFont 显示时转换为点。使用 tsgame_multiple_${gameid}${agentid} 存储键;缺失或非法存储值在模型来源处初始化为 1;确认 0 按原工程转为 1。每次对调用方提供的原始数组副本乘算,不累乘上一次结果,不生成子游戏结算数据。

GameHost 命令:

  • ui.open-number-input:message、可选 begin0、onConfirm。
  • ui.close-number-input:关闭数字输入。
  • ui.show-multiplier:values 原始数组、onConfirm。
  • ui.hide-multiplier:隐藏倍数工具。

回调绑定当前房间 lease;关闭、替换或离房使旧回调失效。场景未就绪时保存待展示请求,房间面板挂载后按顺序展示,避免 attach/restore 阶段丢失请求。

验证边界

本地模型、协议入口、回调生命周期与 Cocos 预览验证;不代表原生真机和真实子游戏结算联调完成。预览确认前导零字符串 0012,以及 [1.1,-2,0] 乘 2.5 回传 [2.75,-5,0]。服务端没有修改。

本轮全量 868 项测试通过,框架及 Cocos 严格类型检查通过;四个 prefab 经 MCP 检查资源引用均无缺失。最终预览确认时间/房号轮换、连续两条广播及清队列、倍数显示、18 位前导零粘贴回调,以及界面就绪前请求延迟展示。