feat(t7): 结算面两件——终局回看走模态栈修复 z 序压死+冒险终局面板 GP 行

①卡⑨:_on_end_review/_open_review_from_band 改 open 后走 _open_modal(模态栈显式隐藏上方可见遮挡——修复回看层被终局层全屏 STOP 遮罩压死;净空态行为与旧直开逐位等价;关闭侧既有 closed→_on_modal_closed 通路不动)
②卡⑩:GP 冒险钱包呈现侧影子账(_adventure_gp_view/final,_wallet_changed gain/buy 载荷=入账后总额,clear 拍转存)——冒险终局胜利面板补「本局 GP 入账 · 合计 N」行,收束清零前取值纯呈现零核心触碰(C1 呈现层方案;C5:GP 行只上冒险终局面板,战斗 HUD 不回加;失败侧维持 OQ14 口径不呈现)
③ui_click_probe 增②b 终局入口回看断言(真实信号路径:开终局→review_pressed→回看开+终局层被栈隐藏→关闭恢复);ui_probe 增 GP 影子账转存+终局行呈现断言(合成收束期 meta 置空防隔离档跨跑自污染)
轻闸=冒烟 576/0+五探针全 PASS(input/click/layout 本卡加跑);踩坑一次=合成 settle 写隔离档致 camp 零余额断言跨跑失守,已修(meta 置空)+清档
This commit is contained in:
DKChan committed 2026-09-29 04:30:14 +08:00
1 parent 442156bfb7
commit a47c988a2d
3 files changed
+49 -1

No files matched your search

+14 -1
View File
@@ -64,6 +64,9 @@ var legend_overlay: LegendOverlay
var review_overlay: SettlementReviewOverlay
var node_overlay: NodeOverlay
var shop_overlay: ShopOverlay # 商店覆盖层(GP+商店房实施批——商店房节点兑付呈现)
var _adventure_gp_view := 0 # GP 冒险钱包呈现侧影子(迭代 6 T7——终局面板 GP 行取数面,
# wallet_changed gain/buy 载荷=入账后总额 level_runner.gd:482/539)
var _adventure_gp_final := 0 # 收束清零拍暂存的最终合计("clear" 到达时自影子转存)
var camp_overlay: CampOverlay # 营地覆盖层(元进度实现批——主菜单营地入口兑付呈现)
var tune_panel: TunePanel
@@ -325,7 +328,8 @@ func _on_adventure_finished(summary: Dictionary) -> void:
if not detail.is_empty():
text += "\n" + Narrator.keystone_settle_text(detail, _item_name_lookup())
if result == "completed":
_end_overlay.open_victory(text, "返回冒险", board_view.get_global_rect())
_end_overlay.open_victory(text, "返回冒险", board_view.get_global_rect(),
"本局 GP 入账 · 合计 %d" % _adventure_gp_final) # 迭代 6 T7 卡⑩——GP 行只上冒险终局面板(C5)
else:
_end_overlay.open_defeat(text, "返回", board_view.get_global_rect())
logger.log_level_end(summary) # 试玩时间线:冒险终局(摘要随载荷)
@@ -362,6 +366,8 @@ func _on_battle_end_continue() -> void:
func _on_end_review() -> void:
review_overlay.open(log_view.parsed_text())
_open_modal(review_overlay) # 迭代 6 T7——走模态栈:终局层在册上方的可见遮挡被显式隐藏,
# 修复「回看层被终局层全屏 STOP 遮罩压死」(直开绕栈缺陷)
# ==================== 调试模式(连续两层——编排归 debug_session.gd;
@@ -719,6 +725,12 @@ func _on_shop_leave() -> void:
func _on_wallet_changed(event: String, gp: int, extra: Dictionary) -> void:
# wallet 行族转发(到账/购买/清零——试玩日志验收取数面)+ 常驻余额与在开商店覆盖层重刷
logger.log_wallet(event, gp, extra)
match String(event): # GP 影子账(迭代 6 T7——收束清零前取值,纯呈现零核心触碰=C1 呈现层方案)
"gain", "buy":
_adventure_gp_view = gp
"clear":
_adventure_gp_final = _adventure_gp_view
_adventure_gp_view = 0
if shop_overlay.visible and runner != null:
shop_overlay.refresh_state(runner.shop_products(), int(runner.gp))
_refresh_presentations()
@@ -846,6 +858,7 @@ func _phase_text() -> String:
func _open_review_from_band() -> void:
review_overlay.open(log_view.parsed_text())
_open_modal(review_overlay) # 迭代 6 T7 同款——净空态下栈上无可隐藏层,行为与旧直开逐位等价
func _on_legend_toggled() -> void: