二七王:拆分 HistoryMingPaiView,补充注释细节

拆分理由:Layer1/Layer2 的写法让 History/MingPai 两个 group 容器各自
属于哪个图层只靠书写顺序隐含,无结构绑定。拆成 HistoryView(Layer 304)
与 MingPaiView(Layer 305) 两个独立 View 后,「一个 View 恰好一个 Layer」
成为不变式,精灵键名/ID/内容不变。

顺带补两处注释 Minor:PlayAreaView 的 PlayLeft/PlayRight 块首补资源键
说明;AccountView 的 4 个功能按钮改为逐条写资源键,不再靠顺序隐式对应。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-26 21:02:20 +08:00
co-authored by Claude Opus 5
parent 69cb04ecfa
commit 4d05457590
5 changed files with 32 additions and 23 deletions
@@ -2,7 +2,7 @@
////////// EQW_Sprites: 精灵结构(清单 §5.4/§5.5 阶段操作区与浮层)
///////////////////////////////////////////////////////////////
// 子游戏精灵段 1001–2999。结构与 Sprites_Table.js 一致:
// View 下 Layer(或 Layer1/Layer2…)为图层声明,其余键是 group 容器;
// View 下 Layer 为图层声明(一个 View 恰好一个图层),其余键是 group 容器;
// 容器内 id 为群组 ID、其余键才是精灵 id。
// 连号精灵逐条写全,不用循环生成。
var EQW_Sprites = EQW_Sprites || {};
@@ -2,7 +2,7 @@
////////// EQW_Sprites: 精灵结构(清单 §5.2/§5.3 手牌与桌面牌)//
///////////////////////////////////////////////////////////////
// 子游戏精灵段 1001–2999。结构与 Sprites_Table.js 一致:
// View 下 Layer(或 Layer1/Layer2…)为图层声明,其余键是 group 容器;
// View 下 Layer 为图层声明(一个 View 恰好一个图层),其余键是 group 容器;
// 容器内 id 为群组 ID、其余键才是精灵 id。
// 连号精灵逐条写全,不用循环生成——便于人逐张对照编辑器核对。
var EQW_Sprites = EQW_Sprites || {};
@@ -145,6 +145,7 @@ EQW_Sprites.PlayAreaView = {
PlayLeft: {
id: EQW_Groups.PLAY_LEFT, //213 左上家,结构同 212
//—— 本轮打出的牌,资源 EQW_Images.CARD_FACE_M,帧 = cardIdToFrame(id)——
PLAY_LEFT_1: 1400,
PLAY_LEFT_2: 1401,
PLAY_LEFT_3: 1402,
@@ -180,6 +181,7 @@ EQW_Sprites.PlayAreaView = {
PlayRight: {
id: EQW_Groups.PLAY_RIGHT, //214 右上家,结构同 212
//—— 本轮打出的牌,资源 EQW_Images.CARD_FACE_M,帧 = cardIdToFrame(id)——
PLAY_RIGHT_1: 1500,
PLAY_RIGHT_2: 1501,
PLAY_RIGHT_3: 1502,
@@ -2,7 +2,7 @@
////////// EQW_Sprites: 精灵结构(清单 §5.8 建房规则选项)//////
///////////////////////////////////////////////////////////////
// 子游戏精灵段 1001–2999。结构与 Sprites_Table.js 一致:
// View 下 Layer 为图层声明,其余键是 group 容器;
// View 下 Layer 为图层声明(一个 View 恰好一个图层),其余键是 group 容器;
// 容器内 id 为群组 ID、其余键才是精灵 id。
// 3 个类别、4 个选项组、8 个选项,选项集固定,全部预置,共 20 个精灵。
// 渲染仍由 §1.1 的配置数据驱动:配置里每个选项声明自己用哪个精灵键、
@@ -2,7 +2,7 @@
////////// EQW_Sprites: 精灵结构(清单 §5.6/§5.6a/§5.7a/§5.7b 结算)
///////////////////////////////////////////////////////////////
// 子游戏精灵段 1001–2999。结构与 Sprites_Table.js 一致:
// View 下 Layer(或 Layer1/Layer2…)为图层声明,其余键是 group 容器;
// View 下 Layer 为图层声明(一个 View 恰好一个图层),其余键是 group 容器;
// 容器内 id 为群组 ID、其余键才是精灵 id。
// 连号精灵逐条写全,不用循环生成。
var EQW_Sprites = EQW_Sprites || {};
@@ -99,26 +99,25 @@ EQW_Sprites.AccountView = {
ACC_TPL_SCORE_NUM: 1914, //模板:右侧总分大字(数字精灵),资源 EQW_Images.NUM_RESULT_WIN / NUM_RESULT_LOSE
ACC_TPL_DIVIDER: 1915, //模板:行间分隔线,资源 EQW_Images.LINE_DIVIDER
//—— 底部 4 个功能按钮:再来一局/分享好友/复制战绩/退出房间,资源 EQW_Images.BTN_ACCOUNT_* ——
ACC_BTN_AGAIN: 1920,
ACC_BTN_AGAIN_TEXT: 1921,
ACC_BTN_SHARE: 1922,
ACC_BTN_SHARE_TEXT: 1923,
ACC_BTN_COPY: 1924,
ACC_BTN_COPY_TEXT: 1925,
ACC_BTN_EXIT: 1926,
ACC_BTN_EXIT_TEXT: 1927
//—— 底部 4 个功能按钮 ——
ACC_BTN_AGAIN: 1920, //图片:「再来一局」按钮,资源 EQW_Images.BTN_ACCOUNT_AGAIN
ACC_BTN_AGAIN_TEXT: 1921, //文字:按钮文案「再来一局」
ACC_BTN_SHARE: 1922, //图片:「分享好友」按钮,资源 EQW_Images.BTN_ACCOUNT_SHARE
ACC_BTN_SHARE_TEXT: 1923, //文字:按钮文案「分享好友」
ACC_BTN_COPY: 1924, //图片:「复制战绩」按钮,资源 EQW_Images.BTN_ACCOUNT_COPY
ACC_BTN_COPY_TEXT: 1925, //文字:按钮文案「复制战绩」
ACC_BTN_EXIT: 1926, //图片:「退出房间」按钮,资源 EQW_Images.BTN_ACCOUNT_EXIT
ACC_BTN_EXIT_TEXT: 1927 //文字:按钮文案「退出房间」
}
};
//出牌历史 / 上一轮 / 明牌 / 亮牌(清单 §5.7b,Layer 304 出牌历史、Layer 305 明牌,群组 242/243,牌用精灵复制)——
//两者版式相同(遮罩 + 每家一排牌),差别只在数据源与家数,共用同一套渲染:
//出牌历史:三家都显示,数据 = pushlist 摊平聚合到各家(§1.7 D-7);上一轮同一套精灵,只取 pushlist 末尾一项。
//明牌:只显示另两家,数据 = mingpai.others[].zhucards(§1.7 D-6)。
//亮牌:只显示一排(庄家固定主牌),数据 = liangpai.cards(§1.6),复用同一套遮罩+容器+牌模板,仅数据源与排数不同。
EQW_Sprites.HistoryMingPaiView = {
Layer1: EQW_Layers.POPUP_HISTORY, //304 出牌历史/上一轮/亮牌
Layer2: EQW_Layers.POPUP_MINGPAI, //305 明牌
//出牌历史 / 上一轮 / 亮牌(清单 §5.7b,Layer 304,群组 242,牌用精灵复制)——
//三家都显示,数据 = pushlist 摊平聚合到各家(§1.7 D-7);上一轮同一套精灵,只取 pushlist 末尾一项;
//亮牌只显示一排(庄家固定主牌),数据 = liangpai.cards(§1.6),复用同一套遮罩+容器+牌模板,仅数据源与排数不同。
//与下方 MingPaiView(Layer 305)版式相同(遮罩 + 每家一排牌),差别只在数据源与家数,两个 View 共用同一套渲染逻辑,
//但各自数据独立、图层不同,故拆成两个 View(一个 View 恰好一个图层)。
EQW_Sprites.HistoryView = {
Layer: EQW_Layers.POPUP_HISTORY, //304
History: {
id: EQW_Groups.HISTORY, //242
@@ -131,7 +130,15 @@ EQW_Sprites.HistoryMingPaiView = {
HIST_LABEL_LEFT: 1955, //文字:左上家座位标签(昵称/张数)
HIST_LABEL_RIGHT: 1956, //文字:右上家座位标签
HIST_LABEL_SELF: 1957 //文字:自己座位标签
},
}
};
//明牌(清单 §5.7b,Layer 305,群组 243,牌用精灵复制)——
//只显示另两家,数据 = mingpai.others[].zhucards(§1.7 D-6);
//版式与上方 HistoryView(Layer 304)相同(遮罩 + 每家一排牌),差别只在数据源与家数,两个 View 共用同一套渲染逻辑,
//但各自数据独立、图层不同,故拆成两个 View(一个 View 恰好一个图层)。
EQW_Sprites.MingPaiView = {
Layer: EQW_Layers.POPUP_MINGPAI, //305
MingPai: {
id: EQW_Groups.MINGPAI, //243
@@ -2,7 +2,7 @@
////////// EQW_Sprites: 精灵结构(清单 §5.1 牌桌常驻)/////////
///////////////////////////////////////////////////////////////
// 子游戏精灵段 1001–2999(段内仅 3000 被平台占用)。
// 以 UI View 为组织单位:View 下 Layer(或 Layer1/Layer2…)为图层声明,
// 以 UI View 为组织单位:View 下 Layer 为图层声明(一个 View 恰好一个图层),
// 其余键一律是「group 容器」——容器内 id 为群组 ID、其余键才是精灵 id。
// 每个精灵注明:类型(图片/文字)+ 用途 + 资源键 + 帧说明——
// 后期即照这些注释在编辑器里逐个创建。