Files
gplan-2/game/presentation/scenes/menu_screen.gd
T
DKChan 3661689a56 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 全绿。
2026-10-22 22:32:02 +08:00

26 lines
1.3 KiB
GDScript

class_name MenuScreen
extends Control
# 开始菜单屏壳(场景=组合单元与生命周期单元)。
# 视图代码原样构建(节点构建归 ui_assembler.gd 纪律不变——本屏壳只持有与暴露句柄);
# 按钮接线归组合根 main.gd(信号连接只在组合根)。
# 可独立实例化(F6/headless 挂载)——V2「各新屏场景可独立实例化」探针断言载体。
# main 组合根保留 _start_overlay 等句柄指向本屏成员——可见性开关与探针挂载假设零迁移。
var start_overlay: Control # 全屏菜单层(原 main._start_overlay——组合根可见性开关句柄不变)
var box: VBoxContainer
var entersavebtn: Button
var settingsbtn: Button
var quitbtn: Button
const UiAssembler := preload("res://presentation/ui_assembler.gd") # 构建归装配器(规范 1.1——非全局类,preload 引用)
func _ready() -> void:
mouse_filter = Control.MOUSE_FILTER_IGNORE # 屏壳=纯容器(ui_input 实证:全屏 STOP 壳会吃掉下层模态鼠标输入)
var start: Dictionary[Variant, Variant] = UiAssembler.build_start_overlay(self, get_node("/root/ConfigDB"))
start_overlay = start.overlay
box = start.box
entersavebtn = start.entersavebtn
settingsbtn = start.settingsbtn
quitbtn = start.quitbtn