Files
gplan-2/game/presentation/ui_modals.gd
T
DKChan 3a9c6ff453 卡⑥T1(迭代47·营地模态句柄子容器批): UiCampModals新件+camp_overlay句柄迁移modals.camp.overlay二层——零行为变化
- 新建game/presentation/ui_camp_modals.gd(.uid同笔): RefCounted子容器,现役一枚overlay,头注自陈终态六枚/新营地句柄禁平铺回ui_modals(契约2/4/5)
- ui_modals.gd: 持camp成员(_init与flow同拍构造)+删平铺camp_overlay——类变量14→14,头注同步(十二平铺句柄+营地域子容器)
- main_ui_build.gd装配10处+ui_registry.gd node()分支返回属性链(key平铺不改名,camp.*解析分支随卡④⑤)+改指面探针五件/system_test共43处改指ui.modals.camp.overlay(断言零改判据)
- 营地段断言消息文本追加尾缀〔句柄子容器批 V1〕×33+〔句柄子容器批 V2〕×1(V1c合同树序链——独立验收审计尾缀grep义务落点)
- 验证: 类缓存刷新(--editor --quit,UiCampModals入册)后改指面8文件逐件复跑绿——system_test 69项0失败+ui_struct/screen_flow/ui_probe PASS+click问题=0+shot camp出图问题=0; S13 gate绿(143件零NEW)+ui_modals '^var '计数=14留痕; 全仓modals.camp_overlay平铺寻址零残留
2026-11-01 08:00:04 +08:00

34 lines
1.7 KiB
GDScript
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.
## 模态层域句柄册:十二个平铺模态句柄+营地交互域子容器(camp)+模态栈编排(ModalFlow——登记/开合/输入锁谓词)的注册面域容器。
## RefCounted 不挂树;模态登记唯一口=register_layer(anchors 撑满宿主+排入 ModalStack)。
## flow 随容器构造即建(装配早期注入点经 root.ui.modals.flow.* 取 Callable——晚于 flow 建立时点)。
class_name UiModals
extends RefCounted
var flow: ModalFlow
var legend_overlay: LegendOverlay
var node_overlay: NodeOverlay
var level_screen: LevelMapScreen
var curio_overlay: CurioPickOverlay
var end_overlay: BattleEndOverlay
var shop_overlay: ShopOverlay
var camp: UiCampModals
var settings_overlay: SettingsOverlay
var status_panel: StatusPanel
var career_overlay: CareerOverlay
var save_select_overlay: SaveSelectOverlay
var confirm_dialog: ConfirmDialog
var debug_overlay: DebugOverlay
func _init() -> void:
flow = ModalFlow.new() # 查询/钩子 Callable 由 _build_modal_flow 注入(注入时点不变——注入值面向已在座实例)
camp = UiCampModals.new() # 营地域句柄子容器(分域纪律——营地域句柄禁平铺回本册)
func register_layer(m: Control, tags: Array = []) -> void:
# 撑满宿主(Control 默认锚 = 0×0——全屏变暗层与居中布局整体失效;route 选路层预览截图实证后
# 统一收口:六个模态同病,探针经信号直发绕过真实点击从未暴露。anchors_and_offsets 而非 anchors
# ——后者会把控件重置回最小内容尺寸,ui_assembler 头注同款纪律)
m.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT)
flow.register(m, tags) # 排除组随层登记(non_locking=调试浮窗/screen_state=关卡地图屏)