fix: 续玩停点恢复 main.gd:717 崩值(用户实机 F5 定位)——resume_adventure 三选一停点分支在 level_started 之前同步 curio_choice_presented.emit〔resume 提前 return〕,GP 总结 lambda 求值时 runner 尚未赋值(null.gp 炸);修=_gp_summary_text runner 缺位守卫+断点快照 gp 兜底(合计语义=恢复面合计即存档合计,与 _bonus_summary_text 同款守卫式);回归=ui_struct_probe⑦resume 专项(先红后绿实证:Nil.gp 同栈复现→修后总结面开+快照合计 24 断言);轻闸冒烟782/0+run_all 16套+probe_gate --click 全绿
This commit is contained in:
1 parent
02fcc55fca
commit
c32bb6ca08
2 files changed
+48
No files matched your search
@@ -713,7 +713,14 @@ func _on_battle_finished(payload: Dictionary) -> void:
|
||||
# 战利品行装配(battle.md OQ14——胜利总结结算展示 GP 总量+增量;账本语义零改动,纯呈现读数):
|
||||
# 增量 = battle_finished 载荷 gp_dropped(战斗域上抛);总量 = runner.gp 现值(LevelRunner 入账
|
||||
# 连接先于组合根 handler——此读数即战后入账完毕的总量)。
|
||||
# runner 缺位守卫(2026-10-06 用户实机 main.gd:717 崩值定位——续玩停点恢复分支:adventure_runner
|
||||
# resume_adventure 的 bonus_pending 分支在 level_started 之前同步 curio_choice_presented.emit
|
||||
# 〔resume 提前 return〕,本 lambda 求值时 runner 尚未赋值;合计改读断点快照 gp 兜底——恢复源快照
|
||||
# 此刻必在档,语义=续玩恢复面的合计即存档合计;与 _bonus_summary_text 同款守卫式)
|
||||
func _gp_summary_text(payload: Dictionary) -> String:
|
||||
if runner == null:
|
||||
var bp: Dictionary = save_manager.breakpoint_snapshot() if save_manager != null else {}
|
||||
return "战利品 GP +%d · 合计 %d" % [int(payload.get("gp_dropped", 0)), int(bp.get("gp", 0))]
|
||||
return "战利品 GP +%d · 合计 %d" % [int(payload.get("gp_dropped", 0)), int(runner.gp)]
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user