Files
youle_cocos/docs/superpowers/reports/2026-09-06-vip-room-prefabs.md

2.4 KiB

Layer6 VIP 列表接线

来源为 Game_Surface_3 的 ConstVal.vipRoomList1/2、GameUI.openVipRoomList/createVipRoomListPageOne/createVipRoomListPageTwo,以及 docs/protocol/02 的 getInfoByShortCode / self_join_room。服务器零改动。

  • 使用用户在 Layer6 中归组的 VipRoomItem1/2,通过 Cocos MCP 导出独立 prefab。Layer6 的 VipRoomListView 持有两个 prefab 与两个带 Mask 的 ScrollView 引用,运行时 instantiate 条目,不再复制精灵。
  • 列表一行距 199;列表二为双列,间距 285/145。Spirit3185 从条目中移为滚动容器,Spirit3188 人数文本归入条目二。Spirit3187 使用原 00203 BitmapFont,字号按字体源值 72 保持数字原像素尺寸。
  • 打开页面发送 getInfoByShortCode,沿 Runtime → Router → Handlers → Store → View 更新。按原本地短码列表排序;沿用原比较器对数字/字符串短码的等值语义。成功登录/进房回包的 shortcode 保存到原 tsgame_vipRoom_{gameid}{agentid} / {data:[]} 格式。
  • 保留标题、房主、人数、未建房提示、牌桌开局状态、普通/比赛模式、管理入口显隐。短房号快速进入和具体牌桌进入都使用原 self_join_room 字段(包括 joinmode:0/location/ip)。forbidSelect 与原工程一样只显示模式说明,由服务器决定准入。
  • 刷新周期来自 vipFlushTime(原配置缺省 10000 ms),关闭/销毁即清理计时器,断线期间停止发请求。刷新保留选页与滚动位置;选中房间消失时回到第一页;空回包清空条目。源实现有“首次显示桌序号、同数量刷新显示真实房号”的不一致,本次统一显示桌序号,点击始终使用真实房号。

验证:78 项平台/协议回归(包含 VIP Runtime 路由)通过,两套 TypeScript 检查、导入边界检查通过。独立 Creator 浏览器中 13 项 VIP 列表断言、35 项大厅菜单断言通过,检查了两页截图。使用合成响应与记录发送端口,未声称已用真实账号完成服务器进房验收。

当前入口仍为登录阶段 GameEntry。子游戏规则描述和创建/对局场景尚未实现;独立的 VIP/短码排行、黑名单、好友管理、统一魅力值设置业务仍未实现,相关入口明确提示。房间描述显示“子游戏规则描述尚未接入”,不复制旧模板的虚构规则示例。此次不将这些业务声明为完成。