feat(ux): T2 独立屏落地——RouteOverlay 升格 LevelMapScreen+组合根屏级互斥
类/文件改名 route_overlay.gd→level_map_screen.gd(RouteOverlay 退役,uid 随迁);屏底=暗幕 0.6 半透→不透明 BG_ROOT+石纹底噪(TEX_BACKDROP_STONE load_tex 守卫缺位纯色回退,spec Layout 形态升格);open_choices 进入转场 alpha 淡入 200ms(UiKit.motion;就地刷新/模态栈恢复不重放)。 组合根:_battle_root 宿主引用留存+_level_screen_active 状态+_enter/_exit_level_screen 单一出口(进屏隐战斗屏/出屏显战斗屏);_on_choices_presented 走进屏;_on_route_chosen 出屏分支;_on_adventure_finished 强制回战斗屏呈现摘要(放弃入口终局兜底)。_input_locked/模态登记序(节点层与商店层之间)不变——兑付覆盖层域内弹出的遮挡恢复语义由模态栈零改动复用。 探针机械改名 main.route_overlay→main.level_screen(ui_probe 5/ui_click_probe 4/ui_input 5/ui_tune 2 处)。坑⑤再证:新 class_name 后未刷编辑器缓存致四探针 Parse Error 超时——--editor --quit 后全绿。轻闸=冒烟 557/0+五探针 PASS。
This commit is contained in:
1 parent
30002f85fd
commit
ae2ca4ffd4
7 files changed
+78
-37
No files matched your search
@@ -15,7 +15,7 @@ func _ready() -> void:
|
||||
await get_tree().process_frame
|
||||
var problems: Array = []
|
||||
# ---- 放弃入口(2026-09-21 用户拍板——台账 119):默认隐藏(非冒险模式无冒险可放弃——开始层/调试两层)----
|
||||
if main.route_overlay.abandon_btn == null or main.route_overlay.abandon_btn.visible:
|
||||
if main.level_screen.abandon_btn == null or main.level_screen.abandon_btn.visible:
|
||||
print("[ui_probe] FAIL — 放弃按钮默认应隐藏(非冒险模式关)")
|
||||
get_tree().quit(1)
|
||||
return
|
||||
@@ -63,20 +63,20 @@ func _ready() -> void:
|
||||
await get_tree().process_frame
|
||||
# ---- 入口选路停点(停点前移批 2026-09-23:关卡开始即出节点图——level_started 后、首战前弹选路层;
|
||||
# press_candidate 图上命中路径 pick 入口单候选进首战——候选按钮退役 2026-09-28)----
|
||||
if not main.route_overlay.visible:
|
||||
if not main.level_screen.visible:
|
||||
problems.append("关卡开始未弹入口选路停点(route_overlay 应可见)")
|
||||
elif main.runner == null or not main.runner.awaiting_choice() \
|
||||
or main.runner.next_candidate_ids().size() != 1:
|
||||
problems.append("入口停点状态失守(选路态 + 入口单候选)")
|
||||
else:
|
||||
main.route_overlay.press_candidate(0)
|
||||
main.level_screen.press_candidate(0)
|
||||
await get_tree().process_frame
|
||||
await get_tree().process_frame
|
||||
# ---- 放弃入口·冒险模式可见 + 战斗中按下被拒(真实按钮路径——入口挂选路停点,战斗中拒绝为防御分支)----
|
||||
if main.route_overlay.abandon_btn == null or not main.route_overlay.abandon_btn.visible:
|
||||
if main.level_screen.abandon_btn == null or not main.level_screen.abandon_btn.visible:
|
||||
problems.append("冒险模式放弃按钮未开放(选路停点入口在案)")
|
||||
else:
|
||||
main.route_overlay.abandon_btn.pressed.emit()
|
||||
main.level_screen.abandon_btn.pressed.emit()
|
||||
await get_tree().process_frame
|
||||
if main.adventure == null or String(main.adventure.state) != "running":
|
||||
problems.append("首战中放弃未被拒(战斗域单事务在飞——state 应保持 running)")
|
||||
|
||||
Reference in new issue
Block a user