Files
erqiwang_youle/client/js/01_SubGame/codes/config/Sprites_Result.js
T
joywayerandClaude Opus 5 4d05457590 二七王:拆分 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>
2026-08-26 21:02:20 +08:00

154 lines
8.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
///////////////////////////////////////////////////////////////
////////// EQW_Sprites: 精灵结构(清单 §5.6/§5.6a/§5.7a/§5.7b 结算)
///////////////////////////////////////////////////////////////
// 子游戏精灵段 1001–2999。结构与 Sprites_Table.js 一致:
// View 下 Layer 为图层声明(一个 View 恰好一个图层),其余键是 group 容器;
// 容器内 id 为群组 ID、其余键才是精灵 id。
// 连号精灵逐条写全,不用循环生成。
var EQW_Sprites = EQW_Sprites || {};
//小局结算面板(清单 §5.6,Layer 302 群组 240)
//
//以下键号在源清单中被显式判定「不需要」,本文件不占用,留空号以便追溯:
// 1814 RESULT_JUDGE_TEXT —— 结算面板不显示判定文字,改由动画呈现(§1.8,D-8)
EQW_Sprites.AsetResultView = {
Layer: EQW_Layers.POPUP_ASET_RESULT, //302
AsetResult: {
id: EQW_Groups.ASET_RESULT, //240
RESULT_BOTTOM_PANEL: 1800, //图片:底牌区面板底,资源 EQW_Images.PANEL_BOTTOM_CARDS
RESULT_BOTTOM_TEXT: 1801, //文字:「叫分{multiple}子 底牌 {grade1}x{bottom.multiple}」
//—— 三家分数光晕,资源 EQW_Images.GLOW_RESULT,帧1=赢(橙) 帧2=输(蓝) ——
RESULT_GLOW_LEFT: 1802,
RESULT_GLOW_RIGHT: 1803,
RESULT_GLOW_SELF: 1804,
//—— 三家总分文字(aset.seatlist[i].grade)——
RESULT_SCORE_LEFT: 1805,
RESULT_SCORE_RIGHT: 1806,
RESULT_SCORE_SELF: 1807,
//—— 三家捡分子数得分文字 grade_jf【T-13】——
RESULT_JF_LEFT: 1808,
RESULT_JF_RIGHT: 1809,
RESULT_JF_SELF: 1810,
//—— 三家算奖得分文字 grade_aw【T-13】——
RESULT_AW_LEFT: 1811,
RESULT_AW_RIGHT: 1812,
RESULT_AW_SELF: 1813,
RESULT_BTN_CG: 1815, //图片:「冲关牌型」按钮,资源 EQW_Images.BTN_CG_CARDS
RESULT_BTN_CG_TEXT: 1816, //文字:按钮文案「冲关牌型」
RESULT_BTN_NEXT: 1817, //图片:「下一局」按钮,资源 EQW_Images.BTN_NEXT_ASET
RESULT_BTN_NEXT_TEXT: 1818 //文字:按钮文案「下一局」
}
};
//> 底牌 8 张精灵复用 Sprites_Cards.js 群组 215(BuryCardsView.BuryCards,1258–1265),不在此重复。
//冲关牌型叠加层(清单 §5.6a,Layer 302 群组 244,精灵复制)——
//本层的牌用 SpriteCopyUtils 运行时复制,不预置固定张数(cards 长度不定,最多可达 20 余张)。
//编辑器里只需建 5 个精灵(3 容器 + 1 牌模板 + 1 遮罩);奖数文字 3 个照常预置。
//RESULT_BTN_NEXT(1817/1818)在遮罩之上仍需可见可点,其图层内层级须高于 CG_MASK。
//清理是硬要求:关闭叠加层/组件 onDestroy 时必须 SpriteCopyUtils.removeRange(boxId, 0, cards.length),否则复制精灵残留。
EQW_Sprites.ChongGuanOverlayView = {
Layer: EQW_Layers.POPUP_ASET_RESULT, //302
ChongGuan: {
id: EQW_Groups.CHONGGUAN, //244
CG_MASK: 1820, //图片:半透黑遮罩(拉伸满屏,兼作点击关闭热区),资源 EQW_Images.MASK_DIM
CG_BOX_LEFT: 1821, //容器:左上家冲关牌容器(SpriteCopyUtils 复制的父精灵)
CG_BOX_RIGHT: 1822, //容器:右上家冲关牌容器
CG_BOX_SELF: 1823, //容器:自己冲关牌容器
CG_CARD_TPL: 1824, //模板:冲关牌模板(编辑器里放好、默认隐藏,只作样式来源),资源 EQW_Images.CARD_FACE_L
//—— 三家奖数文字,与该家的冲关牌并列显示,取 aset.seatlist[i].naward ——
CG_COUNT_LEFT: 1825,
CG_COUNT_RIGHT: 1826,
CG_COUNT_SELF: 1827
}
};
//大局总结算 / 解散结算(清单 §5.7a,Layer 303 群组 241,玩家栏用精灵复制)——
//三条玩家栏结构完全相同、仅数据不同,用 SpriteCopyUtils 复制生成;面板外壳与按钮预置。
//tag 分段(SpriteCopyUtils.createTagManager):rank 1–20 / avatar 21–40 / text 41–140(每行 6 条文字)/ score 141–160 / divider 161–180。
//清理:关闭面板时按各段 removeRange。
//解散结算复用本面板(协议 §14.1,解散包也带 account),只是 aset 各项为 0。
EQW_Sprites.AccountView = {
Layer: EQW_Layers.POPUP_ACCOUNT, //303
Account: {
id: EQW_Groups.ACCOUNT, //241
ACC_PANEL_BG: 1900, //图片:面板底(圆角浅灰绿),资源 EQW_Images.PANEL_ACCOUNT
ACC_TITLE_BAR: 1901, //图片:标题栏(青绿底),资源 EQW_Images.BAR_ACCOUNT_TITLE
ACC_TITLE_TEXT: 1902, //文字:「二七王-3人 房号… 共…局 …」
ACC_BTN_CLOSE: 1903, //图片:右上角关闭按钮,资源 EQW_Images.BTN_ACC_CLOSE
ACC_RULE_BAR: 1904, //图片:底部规则栏(浅绿底),资源 EQW_Images.BAR_ACCOUNT_RULE
ACC_RULE_TEXT: 1905, //文字:「规则:可查牌、傍王、爬坡算子」
ACC_ROW_CONTAINER: 1910, //容器:玩家栏的复制父精灵
//—— 玩家栏复制模板(tag 分段见上)——
ACC_TPL_RANK: 1911, //模板:名次徽章,资源 EQW_Images.BADGE_RANK,帧=名次1–3
ACC_TPL_AVATAR: 1912, //模板:头像,运行时贴玩家头像
ACC_TPL_TEXT: 1913, //模板:通用文字(昵称/ID/各项分数,一行一个)
ACC_TPL_SCORE_NUM: 1914, //模板:右侧总分大字(数字精灵),资源 EQW_Images.NUM_RESULT_WIN / NUM_RESULT_LOSE
ACC_TPL_DIVIDER: 1915, //模板:行间分隔线,资源 EQW_Images.LINE_DIVIDER
//—— 底部 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,群组 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
HIST_MASK: 1950, //图片:半透黑遮罩(兼关闭热区),资源 EQW_Images.MASK_DIM
HIST_BOX_LEFT: 1951, //容器:左上家牌容器
HIST_BOX_RIGHT: 1952, //容器:右上家牌容器
HIST_BOX_SELF: 1953, //容器:自己牌容器
HIST_CARD_TPL: 1954, //模板:牌模板,资源 EQW_Images.CARD_FACE_L
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
MING_MASK: 2000, //图片:明牌遮罩,资源 EQW_Images.MASK_DIM
MING_BOX_A: 2001, //容器:另一家A牌容器
MING_BOX_B: 2002, //容器:另一家B牌容器
MING_CARD_TPL: 2003, //模板:牌模板,资源 EQW_Images.CARD_FACE_L
MING_LABEL_A: 2004, //文字:A座位标签
MING_LABEL_B: 2005 //文字:B座位标签
}
};