二七王:Sprites_CreateRoom.js 补 CreateRoomView 的布局说明注释
分区标题标出 Layer(平台 27)与 Group 250,正文含 ASCII 版式图:类别竖排 × 选项槽横排的两层嵌套,标出三个类别标题、8 组「选择框 + 文字」与房卡附注各自 对应的精灵常量与 attach 目标;另附帧号公式、roomtype 五位映射、房卡联动表、 资源说明与 @see 出处,并注明参考图是别的游戏、只借版式不借内容。 纯注释改动,数据部分一字未动(精灵总数仍 378、布局节点仍 61)。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,87 @@
|
|||||||
// 「傍王」「爬坡」这些具体玩法名。
|
// 「傍王」「爬坡」这些具体玩法名。
|
||||||
var EQW_Sprites = EQW_Sprites || {};
|
var EQW_Sprites = EQW_Sprites || {};
|
||||||
|
|
||||||
|
// ============================================================================
|
||||||
|
// 建房规则选项区 - Layer 27 (平台 CreateRoom_Layer), Group 250 (CREATE_ROOM)
|
||||||
|
// ============================================================================
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 建房规则选项区 - CreateRoomView
|
||||||
|
*
|
||||||
|
* 用途: 创建房间弹窗里【只属于子游戏的那块内容区】——3 个类别标题 + 4 个选项组 + 8 个选项,
|
||||||
|
* 玩家勾选后拼成 5 位 roomtype 串发给服务端。
|
||||||
|
* 弹窗背景、标题、关闭按钮、确认按钮(平台约定的 25 号精灵)都【由平台提供】,
|
||||||
|
* 本 View 不重复建弹窗外壳(D-1 已定)。也因此不新开图层,直接挂平台的 Layer 27。
|
||||||
|
*
|
||||||
|
* 布局说明(参考图 docs_dev/uiref/创建房间选项的UI参考内容根据实际二七王游戏改动.png
|
||||||
|
* ——⚠ 那是【另一个游戏】的建房选项(局数 8/16/24、人数 2/3/4、霸王 ×2/×4,
|
||||||
|
* 二七王都没有)。【只照搬视觉范式与控件样式,内容一律按二七王的 roomtype 重写】。
|
||||||
|
* 下图画的是二七王的实际内容):
|
||||||
|
*
|
||||||
|
* 两层嵌套:类别竖排(ROOM_CATEGORY_COLUMN)+ 类别内选项槽横排(ROOM_OPTION_ROW)
|
||||||
|
*
|
||||||
|
* x=0 x=70 内容区右边缘
|
||||||
|
* ┌──────┬──────────────────┬──────────────────┬─────────────────┐
|
||||||
|
* │ 牌局 │ ◉ 6局 │ ◯ 12局 │ │ ← 类别 1 行 1
|
||||||
|
* │ │ ◉ 房主扣卡 │ ◯ AA每人扣卡 │ 房主2张 │ ← 类别 1 行 2
|
||||||
|
* ├──────┼──────────────────┼──────────────────┼─────────────────┤
|
||||||
|
* │ 模式 │ ◉ 可查牌 │ ◯ 不查牌 │ │ ← 类别 2
|
||||||
|
* ├──────┼──────────────────┼──────────────────┼─────────────────┤
|
||||||
|
* │ 规则 │ ▣ 傍王 │ ▣ 爬坡 │ │ ← 类别 3
|
||||||
|
* └──────┴──────────────────┴──────────────────┴─────────────────┘
|
||||||
|
* ↑ ↑ ↑ ↑
|
||||||
|
* │ │ └ ROOM_TEXT_*:attach 同槽选择框右侧 offsetX=+8(ROOM_OPTION_TEXT)
|
||||||
|
* │ └── ROOM_BOX_*:attach 所在选项槽 left/middle,22×22(ROOM_OPTION_BOX)
|
||||||
|
* └───────── ROOM_CAT_TITLE_1..3 (2050–2052):attach 所在类别行 left/middle,60×24
|
||||||
|
* 帧1=牌局 帧2=模式 帧3=规则(ROOM_CATEGORY_TITLE)
|
||||||
|
* ↑
|
||||||
|
* ROOM_TEXT_CARD_COST(2061) 房卡消耗附注(灰色小字)
|
||||||
|
* attach ROOM_BOX_CARD_2 右侧 offsetX=+20(ROOM_CARD_COST_NOTE)
|
||||||
|
*
|
||||||
|
* 布局参数(EQW_Layout,清单 §6.9b 原文说明数值按参考图比例估、实际以平台建房界面尺寸为准):
|
||||||
|
* ROOM_CATEGORY_COLUMN line/vertical, anchor='top', itemHeight=32, spacing=8,
|
||||||
|
* itemWidth 由调用方按平台内容区实际宽度注入
|
||||||
|
* ⚠ anchor 必须用竖排语义 top/bottom/center,写成 'left' 会被
|
||||||
|
* 求解器按方向校验拒掉(历史坑:会算出画布外的 y)
|
||||||
|
* ROOM_OPTION_ROW line/horizontal, anchor='left', anchorX=70, itemWidth=150,
|
||||||
|
* itemHeight 沿用类别行高 32,spacing=0,anchorY 随所在类别行注入
|
||||||
|
* ROOM_OPTION_GROUP_GAP 40 同类别下两个选项组之间比组内选项多留的间距
|
||||||
|
* ROOM_OPTION_MAX_PER_ROW 4 + ROOM_OPTION_OVERFLOW_GRID —— 选项超 4 个才折行;
|
||||||
|
* 二七王每组最多 2 项,不会触发
|
||||||
|
*
|
||||||
|
* 元素说明:
|
||||||
|
* - 每个选项 = 选择框(图片精灵)+ 文字精灵,成对出现,共 8 组。
|
||||||
|
* - 选择框帧号 = (useCheckbox ? 3 : 1) + (selected ? 1 : 0),
|
||||||
|
* useCheckbox = (类型为 checkbox 或 radioOptional)。三个单选组用帧1–2,附加规则组用帧3–4。
|
||||||
|
* - 选中态文字变橙: EQW_Layout.TEXT_STYLE.ROOM_OPT 的 normal / selected 两态。
|
||||||
|
* - 【本文件不认识玩法名】渲染由 EQW_RoomOptions(Layout_CreateRoom.js)这份配置数据驱动:
|
||||||
|
* 配置里每个选项自己声明用哪个精灵键(box / text)、type(决定帧号)、bit/value
|
||||||
|
* (决定 roomtype 拼串)。渲染器一律【按键名取精灵,不得按下标拼字符串】——
|
||||||
|
* 组的 key 是 'rules'、精灵却叫 ROOM_BOX_RULE_1,本来就拼不出来。
|
||||||
|
* 加一个选项 = 配置里加一条,不改渲染逻辑(OCP + 配置优先)。
|
||||||
|
* - 【roomtype 拼串只在一处实现】遍历配置写 item.value 到 item.bit,不得在别处按下标硬拼
|
||||||
|
* (与服务端 class.config.js parse() 对称的 SSOT 要求)。二七王 5 位:
|
||||||
|
* 位0 局数(6局/12局) 位1 扣卡(房主/AA) 位2 傍王 位3 爬坡 位4 查牌(可查/不查)
|
||||||
|
* 缺省值 roomtype = "00000"。
|
||||||
|
* - 【房卡消耗联动】随「局数 × 扣卡」两组实时变化,取自 EQW_RoomOptions.cardCost 配置表,
|
||||||
|
* 不硬编码在 UI 代码里:房主扣卡 6局=房主2张 / 12局=房主4张;AA 6局=每人1张 / 12局=每人2张。
|
||||||
|
* - 【参考图里不要照抄的部分】「人数」行(二七王固定 3 人,不给玩家选)与「霸王」行。
|
||||||
|
* - 交互:点平台约定的 25 号精灵 → 拼 roomtype → Net.Send_create_room(...)。
|
||||||
|
*
|
||||||
|
* 资源说明:
|
||||||
|
* - 选择框: EQW_Images.ROOM_OPT_BOX (681), 4 帧 (2×2), 22×22
|
||||||
|
* 帧1=单选·未选中(灰空心环) 帧2=单选·已选中(橙实心环)
|
||||||
|
* 帧3=复选·未选中(浅绿空方块) 帧4=复选·已选中
|
||||||
|
* - 类别标题: EQW_Images.ROOM_CAT_TITLE (682), 3 帧, 60×24, 帧1=牌局 帧2=模式 帧3=规则
|
||||||
|
* - 选项行底: EQW_Images.ROW_ROOM_OPT (683), 1 帧, 尺寸待定——参考图为无底透明,可选,
|
||||||
|
* 当前本 View 未使用该资源(没有对应精灵)
|
||||||
|
*
|
||||||
|
* 精灵ID分配: 2050–2069(群组 250 号段 2050–2099),共 20 个,全部预置
|
||||||
|
* —— 选项集固定(3 类别 / 4 选项组 / 8 选项),数量小,不用精灵复制(§5.6a 判据表)
|
||||||
|
*
|
||||||
|
* @see docs_dev/二七王-UI资源与精灵清单.md §1.1 建房·房间设置 / §5.8 / §6.9b
|
||||||
|
* @see docs_dev/uiref/创建房间选项的UI参考内容根据实际二七王游戏改动.png(样式范式,非内容)
|
||||||
|
*/
|
||||||
//建房规则选项区:挂在平台创建房间界面所在图层(清单 §5.8,群组 250)
|
//建房规则选项区:挂在平台创建房间界面所在图层(清单 §5.8,群组 250)
|
||||||
EQW_Sprites.CreateRoomView = {
|
EQW_Sprites.CreateRoomView = {
|
||||||
Layer: EQW_Layers.PLATFORM_CREATE_ROOM, //27
|
Layer: EQW_Layers.PLATFORM_CREATE_ROOM, //27
|
||||||
|
|||||||
Reference in New Issue
Block a user