From 6673bbba5fa1f30f76020aedbdcbf73469c8b036 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Tue, 29 Sep 2026 15:01:55 +0800 Subject: [PATCH] =?UTF-8?q?fix(t5-hotfix):=20=E5=A5=96=E5=8A=B1=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E4=B8=89=E9=80=89=E4=B8=80=E5=87=BD=E6=95=B0=E4=BD=93?= =?UTF-8?q?=E8=A1=A5=E8=90=BD=E2=80=94=E2=80=94show=5Freward=5Fitems=20?= =?UTF-8?q?=E5=9C=A8=E5=90=88=E5=B9=B6=E6=97=B6=E4=B8=A2=E5=A4=B1=EF=BC=88?= =?UTF-8?q?worktree=20=E5=86=85=E8=A1=A5=E4=B8=81=E6=96=AD=E8=A8=80?= =?UTF-8?q?=E4=B8=AD=E6=96=AD=E6=9C=AA=E5=86=99=E7=9B=98+=E9=87=8D?= =?UTF-8?q?=E5=81=9A=E8=BD=AE=E6=BC=8F=E9=A1=B9=EF=BC=9B=E6=8E=A2=E9=92=88?= =?UTF-8?q?=E6=97=A0=E8=B7=AF=E5=BE=84=E8=A7=A6=E8=BE=BE=E5=A5=96=E5=8A=B1?= =?UTF-8?q?=E8=8A=82=E7=82=B9=20UI=20=E6=95=85=E9=97=B8=E7=BB=BF=E5=AE=9E?= =?UTF-8?q?=E6=9C=BA=E7=82=B8=E2=80=94=E2=80=94=E6=A8=A1=E6=8B=9F=E7=9B=B2?= =?UTF-8?q?=E5=8C=BA=E6=A1=88=E5=BA=95=E5=86=8D+1=EF=BC=89=EF=BC=9BUiKit.b?= =?UTF-8?q?utton=20=E5=8D=95=E5=8F=82=E7=AD=BE=E5=90=8D=E5=AF=B9=E9=BD=90?= =?UTF-8?q?=EF=BC=9B=E5=86=92=E7=83=9F=E5=A4=8D=E8=B7=91=E7=BB=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/presentation/views/node_overlay.gd | 30 +++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/game/presentation/views/node_overlay.gd b/game/presentation/views/node_overlay.gd index e4faddc9..9db5468f 100644 --- a/game/presentation/views/node_overlay.gd +++ b/game/presentation/views/node_overlay.gd @@ -38,10 +38,32 @@ func _init() -> void: visible = false -func show_reward() -> void: - # 格面资源批(2026-09-15):奖励点内容随可选类道具删除悬置(功能道具渠道 P1 待拍板)——直通节点确认 - _label.text = "关卡奖励点\n(节点内容待定——冒险结构/关卡节点地图 定稿批裁决)" - _btn.text = "继续" +# 奖励节点兑付(迭代 7 T5——「节点奖励=功能道具正式渠道」关卡节点地图.md:110 定稿兑现; +# 拍板②丙=三选一呈现:池 ≤3 全列(当前有效道具三件——选一即全列),池扩充后加权摇三)。 +# choices = [{item_id, display_name, glyph}](组合根组装——视图纯呈现,选择经信号外发)。 +# 选择前「继续」隐藏(强制选择);选择即入库存+屏收。 +func show_reward_items(choices: Array) -> void: + for c in _choice_box.get_children(): + c.queue_free() + if choices.is_empty(): + # 池空(全未解锁/表空合法态)——直通节点确认(切片期合法空态语义保留) + _label.text = "关卡奖励点 +(此行无道具可取——继续前行)" + _btn.text = "继续" + _btn.visible = true + _choice_box.visible = false + visible = true + return + _label.text = "关卡奖励点 +取一件魔法道具(加入关卡背包——关卡结束清空)" + for ch in choices: + var cid := String(ch.get("item_id", "")) + var btn := UiKit.button("%s %s" % [String(ch.get("glyph", "?")), String(ch.get("display_name", ""))]) + btn.custom_minimum_size = Vector2(150, 72) + btn.pressed.connect(func(): item_chosen.emit(cid)) + _choice_box.add_child(btn) + _btn.visible = false # 选择前不给出口(强制三选一——构筑点语义) + _choice_box.visible = true visible = true