From 4ef154b942ebed4cdc9b4951f2822b9dbe76d821 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Thu, 22 Oct 2026 06:01:43 +0800 Subject: [PATCH] =?UTF-8?q?test(=E8=BF=AD=E4=BB=A334=E5=8D=A1=E2=91=A3):?= =?UTF-8?q?=20=E2=91=B1=20=E9=9B=B6=E6=8F=90=E4=BA=A4=E5=88=A4=E6=8D=AE?= =?UTF-8?q?=E6=94=B9=E7=BB=91=20route=5Fchosen=20=E5=8F=91=E5=B0=84?= =?UTF-8?q?=E9=9D=A2=E2=80=94=E2=80=94=E5=91=BD=E4=B8=AD=E9=9D=A2=E7=A9=BF?= =?UTF-8?q?=E9=80=8F=E5=8F=AF=E7=94=B1=E4=BF=A1=E5=8F=B7=E9=9D=A2=E5=88=A4?= =?UTF-8?q?=E7=BA=A2=EF=BC=88fv9=20=E5=8F=98=E5=BC=82=E5=AE=9E=E8=AF=81?= =?UTF-8?q?=EF=BC=9A=E6=94=BE=E5=AE=BD=E5=91=BD=E4=B8=AD=E9=9D=A2=20?= =?UTF-8?q?=E2=86=92=20=E2=91=B1=20=E7=BA=A2=EF=BC=89=EF=BC=8C=E2=91=B1=20?= =?UTF-8?q?=E6=96=AD=E8=A8=80=E8=A1=A5=20fv3/fv4/fv9=20=E5=B0=BE=E7=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/smoke/ui_input_probe.gd | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/game/smoke/ui_input_probe.gd b/game/smoke/ui_input_probe.gd index ab7c26bc..dc31e3c5 100644 --- a/game/smoke/ui_input_probe.gd +++ b/game/smoke/ui_input_probe.gd @@ -57,16 +57,21 @@ func _ready() -> void: _pre_fail("case⑱ 雾面节点选取失败(boss=%d fog=%d)" % [boss_id, fog_id]) return if not bool(disp[boss_id]["boss_border"]): - _pre_fail("case⑱ Boss 节点未带描边标记(id=%d)" % boss_id) + _pre_fail("case⑱ Boss 节点未带描边标记(id=%d)〔fv3〕" % boss_id) return if not bool(disp[int(cands[0])]["draw_icon"]): - _pre_fail("case⑱ 候选节点类型未出示(id=%d——下一跳恒可见)" % int(cands[0])) + _pre_fail("case⑱ 候选节点类型未出示(id=%d——下一跳恒可见)〔fv4〕" % int(cands[0])) return var fog_node := {} for n in nds_vis: if main.run_scope.runner.node_id_of(n) == fog_id: fog_node = n var fog_pos: Vector2 = ro.canvas_probe()["origin"] + ro.layout_probe(nds_vis)[fog_node] + # 零提交判据直接绑 route_chosen 发射:终态会被雾下节点类型(奖励/恢复/商店保持本屏、 + # 战斗/Boss 出屏)与运行器候选校验兜底,单看终态测不出命中面穿透——信号面才是提交面 + var submitted: Array = [] + var on_route := func(nid: int) -> void: submitted.append(nid) + ro.route_chosen.connect(on_route) var evf := InputEventMouseButton.new() evf.button_index = MOUSE_BUTTON_LEFT evf.pressed = true @@ -75,9 +80,10 @@ func _ready() -> void: main.get_viewport().push_input(evf, true) await get_tree().process_frame await get_tree().process_frame - if not main.level_screen.visible or not main.run_scope.runner.awaiting_choice(): - _pre_fail("case⑱ 雾下节点点击产生提交(visible=%s 选路态=%s——雾不扩大可点域)" - % [str(main.level_screen.visible), str(main.run_scope.runner.awaiting_choice())]) + ro.route_chosen.disconnect(on_route) + if not submitted.is_empty() or not main.level_screen.visible or not main.run_scope.runner.awaiting_choice(): + _pre_fail("case⑱ 雾下节点点击产生提交(提交=%s visible=%s 选路态=%s——雾不扩大可点域)〔fv9〕" + % [str(submitted), str(main.level_screen.visible), str(main.run_scope.runner.awaiting_choice())]) return var nds: Array = main.run_scope.runner.nodes() var tgt := {}