feat(ux): T5 战斗胜利结算 GP 接线——总量+增量落胜利总结结算(OQ14 口径)
- BattleEndOverlay 新增战利品行(open_victory 可选参 gp_summary;失败侧恒不呈现——GP 总量+增量归胜利总结结算) - main 两个胜利分支(level_end/standalone_end)装配'战利品 GP +增量 · 合计总量':增量=battle_finished 载荷 gp_dropped,总量=runner.gp 现值(LevelRunner 入账连接先于组合根 handler——读数即战后总量) - 纯呈现接线,账本语义零改动;账本入账/清零路径零触碰 - 轻闸:冒烟 557/0+ui_probe+ui_click_probe(全冒险含胜利终局)+ui_input_probe 全绿
This commit is contained in:
1 parent
b07d11fc18
commit
16f9b5d276
2 files changed
+22
-5
No files matched your search
@@ -449,11 +449,11 @@ func _on_battle_finished(payload: Dictionary) -> void:
|
|||||||
return
|
return
|
||||||
"level_end":
|
"level_end":
|
||||||
_end_overlay.open_victory(Narrator.battle_end_text("victory", true),
|
_end_overlay.open_victory(Narrator.battle_end_text("victory", true),
|
||||||
"返回", board_view.get_global_rect())
|
"返回", board_view.get_global_rect(), _gp_summary_text(payload))
|
||||||
"standalone_end":
|
"standalone_end":
|
||||||
if result == "victory":
|
if result == "victory":
|
||||||
_end_overlay.open_victory(Narrator.battle_end_text("victory", false),
|
_end_overlay.open_victory(Narrator.battle_end_text("victory", false),
|
||||||
"回到遭遇选择", board_view.get_global_rect())
|
"回到遭遇选择", board_view.get_global_rect(), _gp_summary_text(payload))
|
||||||
else:
|
else:
|
||||||
_end_overlay.open_defeat(Narrator.battle_end_text("defeat", false),
|
_end_overlay.open_defeat(Narrator.battle_end_text("defeat", false),
|
||||||
"返回", board_view.get_global_rect())
|
"返回", board_view.get_global_rect())
|
||||||
@@ -461,6 +461,13 @@ func _on_battle_finished(payload: Dictionary) -> void:
|
|||||||
_refresh_presentations()
|
_refresh_presentations()
|
||||||
|
|
||||||
|
|
||||||
|
# 战利品行装配(battle.md OQ14——胜利总结结算展示 GP 总量+增量;账本语义零改动,纯呈现读数):
|
||||||
|
# 增量 = battle_finished 载荷 gp_dropped(战斗域上抛);总量 = runner.gp 现值(LevelRunner 入账
|
||||||
|
# 连接先于组合根 handler——此读数即战后入账完毕的总量)。
|
||||||
|
func _gp_summary_text(payload: Dictionary) -> String:
|
||||||
|
return "战利品 GP +%d · 合计 %d" % [int(payload.get("gp_dropped", 0)), int(runner.gp)]
|
||||||
|
|
||||||
|
|
||||||
# ==================== core↔view 接线(战斗信号统一走这里)====================
|
# ==================== core↔view 接线(战斗信号统一走这里)====================
|
||||||
|
|
||||||
func _wire_battle(settlement_ref) -> void:
|
func _wire_battle(settlement_ref) -> void:
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ const COL_WARM := UiKit.WARM
|
|||||||
var _dim: ColorRect
|
var _dim: ColorRect
|
||||||
var _seal: Panel
|
var _seal: Panel
|
||||||
var _verdict: Label
|
var _verdict: Label
|
||||||
|
var _gp_line: Label # 战利品行(OQ14 口径:胜利总结结算展示 GP 总量+增量——T5 接线 2026-09-28)
|
||||||
var _review_btn: Button
|
var _review_btn: Button
|
||||||
var _btn: Button
|
var _btn: Button
|
||||||
var _board_rect := Rect2()
|
var _board_rect := Rect2()
|
||||||
@@ -36,6 +37,11 @@ func _init() -> void:
|
|||||||
_verdict.add_theme_color_override("font_color", COL_WARM)
|
_verdict.add_theme_color_override("font_color", COL_WARM)
|
||||||
_verdict.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
_verdict.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||||
box.add_child(_verdict)
|
box.add_child(_verdict)
|
||||||
|
_gp_line = UiKit.label("", 16, true)
|
||||||
|
_gp_line.add_theme_color_override("font_color", UiKit.GOLD)
|
||||||
|
_gp_line.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||||
|
_gp_line.visible = false
|
||||||
|
box.add_child(_gp_line)
|
||||||
_review_btn = UiKit.button("明细回看")
|
_review_btn = UiKit.button("明细回看")
|
||||||
_review_btn.pressed.connect(func(): review_pressed.emit())
|
_review_btn.pressed.connect(func(): review_pressed.emit())
|
||||||
box.add_child(_review_btn)
|
box.add_child(_review_btn)
|
||||||
@@ -54,11 +60,15 @@ func _init() -> void:
|
|||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
|
|
||||||
# 终局画面数据锚 = 战斗结算 判定行(verdict)——判定行文案由组合根装配传入
|
# 终局画面数据锚 = 战斗结算 判定行(verdict)——判定行文案由组合根装配传入。
|
||||||
func open_victory(verdict_line: String, continue_label: String, board_rect: Rect2) -> void:
|
# gp_summary(OQ14 口径——胜利总结结算展示 GP 总量+增量):组合根装配「战利品 +增量 · 合计总量」
|
||||||
|
# 传入(入账次序 = LevelRunner 入账先于组合根 handler,runner.gp 即战后总量);空串 = 不显示(失败侧恒空)。
|
||||||
|
func open_victory(verdict_line: String, continue_label: String, board_rect: Rect2, gp_summary: String = "") -> void:
|
||||||
_dim.color = Color(COL_WARM, 0.28)
|
_dim.color = Color(COL_WARM, 0.28)
|
||||||
_verdict.text = verdict_line
|
_verdict.text = verdict_line
|
||||||
_verdict.add_theme_color_override("font_color", UiKit.INK_ON_GOLD)
|
_verdict.add_theme_color_override("font_color", UiKit.INK_ON_GOLD)
|
||||||
|
_gp_line.text = gp_summary
|
||||||
|
_gp_line.visible = gp_summary != ""
|
||||||
_btn.text = continue_label
|
_btn.text = continue_label
|
||||||
_board_rect = board_rect
|
_board_rect = board_rect
|
||||||
visible = true
|
visible = true
|
||||||
@@ -71,7 +81,7 @@ func open_defeat(verdict_line: String, continue_label: String, board_rect: Rect2
|
|||||||
_dim.color = Color(COL_DUSK, 0.45)
|
_dim.color = Color(COL_DUSK, 0.45)
|
||||||
_verdict.text = verdict_line
|
_verdict.text = verdict_line
|
||||||
_verdict.add_theme_color_override("font_color", COL_WARM)
|
_verdict.add_theme_color_override("font_color", COL_WARM)
|
||||||
_btn.text = continue_label
|
_gp_line.visible = false # GP 总量+增量归胜利总结结算(OQ14)——失败侧不呈现
|
||||||
_board_rect = board_rect
|
_board_rect = board_rect
|
||||||
visible = true
|
visible = true
|
||||||
_seal.visible = false
|
_seal.visible = false
|
||||||
|
|||||||
Reference in new issue
Block a user