iter33 卡② T1+T2: 主菜单三入口化(6 钮→3 钮)+F10 位点全量迁移

钮集:build_start_overlay 六钮两组帽→三钮(进入存档 primary/设置/退出——裁决 1;组帽双撤追认单留痕);
menu_screen 句柄面撤 4 留 3 增 entersavebtn;main.gd 接线撤四线接 _open_save_select(mn3 点击链闭环)。
_refresh_resume_button 净删除+消费点全清(main.gd 五处+camp ctx 载体+presenter 三处+probe_ui_util
参数+pacing_queue+V2d 族);断点确认链主菜单侧摘除(mn6——分派器 new_adventure 臂随迁退役,
机制保留卡④第三消费方)。_start_adventure_from_menu/_resume_from_menu/_open_career 保留为探针
直调中间态(mn10——卡④ 大门/笔记本换代点,已知中间态登记)。
F10 迁移:smoke V2 三钮/V2d 族废止三钮承接/V3g camp 经进档开层(槽模板隔离+恢复 attach 写盘目标)/
V3i 钮断言摘除+_stage_faces.resume_vis 键退役;ui_probe/ui_struct/screen_flow/shot/fx/t17 营地与
冒险驱动换代(open_camp_via_savesel 助手——槽模板清场防真实槽污染);ui_click 营地购买链换代
(swap=true 整链落槽文件+持久化核验同源)+断点段②③按 §7.2 申报删除移交卡④+生涯直调;
pacing_queue 钮依赖摘除;isolate_save 签名换代(refresh_resume→swap_save,全调用点核对)。
golden 基线随 T2 重制(mn12——三钮形态)。验证:冒烟 1212/0、单元 40 套件全绿、
struct/click/flow/ui_probe/tune/layout/input/t17 全绿。
This commit is contained in:
DKChan committed 2026-10-22 22:32:02 +08:00
1 parent a10d15c761
commit 3661689a56
16 files changed
+158 -284

No files matched your search

+10 -27
View File
@@ -86,11 +86,11 @@ static func build_overlays(host: Control, db) -> Dictionary:
}
# 开始覆盖层(返回 {overlay, box, lvbtn, resumebtn, campbtn, careerbtn, settingsbtn, quitbtn}——按钮接线归组合根;
# 开始覆盖层(返回 {overlay, box, entersavebtn, settingsbtn, quitbtn}——按钮接线归组合根;
# 随机种子/数值调整板/两层调试三散件不在主按钮组,收进调试浮窗——
# 调试入口=UI 最顶层全局浮层角标(build_debug_badge,本层零调试入口)
# 布局=双列 VBox(左操作 56% + 右舞台);按钮动词化+悬停解释
#(解释全迁 tooltip,G5);lvbtn 为主操作钮(烛光黄 CANDLE);右列=立绘看台。**界面禁玩法文字墙
#(解释全迁 tooltip,G5);entersavebtn 为主操作钮(烛光黄 CANDLE——主菜单三入口化唯一进度入口);右列=立绘看台。**界面禁玩法文字墙
#(教学内容归 Beta 帮助手册〔教学引导定稿 P4 丙〕)**;本层无玩法速览牌;
# tooltip 主题归全局主题单点(禁在 root 挂程序化 tooltip 主题)。
# 返回键集如首行所列,接线归组合根)
@@ -124,31 +124,15 @@ static func build_start_overlay(host: Control, db = null) -> Dictionary:
box.add_child(title)
box.add_child(HSeparator.new())
# 组帽·冒险
box.add_child(UiKit.label("── 冒 险 ──",UiKit.FS_CAPTION, false, UiKit.WARM_FAINT))
# 唯一试玩入口 = 正式「开始冒险」(三关序列);无单关测试直入口
var resumebtn := UiKit.primary_button("▶ 继续上局") # 有断点才亮(可见性与关数文案归组合根刷新);主操作钮对齐 demo
resumebtn.tooltip_text = "自最近停点恢复"
resumebtn.visible = false
box.add_child(resumebtn)
# 主操作语义对齐 demo(有档时「继续上局」才是首动作=主黄钮,
# 「开始冒险」=常规石钮;tooltip 保留)
var lvbtn := UiKit.button("▶ 开始冒险")
lvbtn.tooltip_text = "三关连探:地精洞窟 → 幽暗地域 → 灰矮人矿城"
box.add_child(lvbtn)
# 组帽·营地与系统
box.add_child(UiKit.label("── 营地与系统 ──",UiKit.FS_CAPTION, false, UiKit.WARM_FAINT))
var campbtn := UiKit.verb_button("营地", UiKit.TEX_ICON_KEYSTONE, "永久强化:钥石换永久属性——跨局成长账本") # 主菜单营地入口
box.add_child(campbtn)
# 生涯页一级入口(与营地平级;页=局外只读跨局汇总,零跳转零购买)
var careerbtn := UiKit.button("生涯")
careerbtn.tooltip_text = "跨局生涯汇总:总局数 / 通关局数 / Boss 击杀 / 钥石余额 / 三柜台解锁概览(只读)"
box.add_child(careerbtn)
var settingsbtn := UiKit.button("设置") # 最小设置面入口
# 三入口(主菜单三入口化——营地交互重做卡②,用户裁决 1:进入存档/设置/退出游戏;
# 组帽双撤——冒险组帽组内零钮退化态不留、「营地与系统」帽指称失义,追认单留痕)
var entersavebtn := UiKit.primary_button("进入存档") # 主操作钮(唯一进度入口)
entersavebtn.tooltip_text = "选择一个存档位进入(新档 / 进档 / 删档)"
box.add_child(entersavebtn)
var settingsbtn := UiKit.button("设置") # 最小设置面入口(行为零变化——契约 2)
settingsbtn.tooltip_text = "音量 / 全屏 / 减动效"
box.add_child(settingsbtn)
# 退出游戏与设置同层并行——只在一级菜单出现
# 退出游戏与设置同层并行——只在一级菜单出现(行为零变化——契约 2)
var quitbtn := UiKit.button("退出游戏")
box.add_child(quitbtn)
@@ -190,8 +174,7 @@ static func build_start_overlay(host: Control, db = null) -> Dictionary:
right.add_child(stage)
return {"overlay": overlay, "box": box,
"lvbtn": lvbtn, "resumebtn": resumebtn,
"campbtn": campbtn, "careerbtn": careerbtn,
"entersavebtn": entersavebtn,
"settingsbtn": settingsbtn, "quitbtn": quitbtn}