From 6f04f29bf06e10c496d3f4814a856819aca55b6e Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Thu, 22 Oct 2026 06:09:56 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E8=BF=AD=E4=BB=A334=E5=8D=A1=E2=91=A3):=20?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E9=97=B8=E5=BD=92=E9=9B=B6=E2=80=94=E2=80=94?= =?UTF-8?q?BFS=20=E9=98=9F=E5=88=97=E6=B8=B8=E6=A0=87=E4=B8=8E=20type=5Fvi?= =?UTF-8?q?s/cand=5Fids=20=E5=AE=B9=E5=99=A8=E6=98=BE=E5=BC=8F=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=8C=96=EF=BC=9B=E6=8E=A2=E9=92=88=E2=91=B1=20?= =?UTF-8?q?=E8=A1=A5=E9=9B=BE=E4=B8=8B=E6=96=87=E5=AD=97=E9=80=9A=E9=81=93?= =?UTF-8?q?=E6=96=AD=E8=A8=80=E3=80=94fv2=E3=80=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game/core/level_runner.gd | 2 +- game/presentation/views/level_map_screen.gd | 6 +++--- game/smoke/ui_input_probe.gd | 4 ++++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/game/core/level_runner.gd b/game/core/level_runner.gd index e2462bc4..85b4c4ea 100644 --- a/game/core/level_runner.gd +++ b/game/core/level_runner.gd @@ -449,7 +449,7 @@ func _bfs_layers() -> Dictionary: layers[_node_id(entry)] = 0 var i := 0 while i < queue.size(): - var cur: Dictionary = queue[i] + var cur: Dictionary[Variant, Variant] = queue[i] i += 1 var d := int(layers[_node_id(cur)]) for nxt in _out_nodes(cur): diff --git a/game/presentation/views/level_map_screen.gd b/game/presentation/views/level_map_screen.gd index cac24598..607cdf9d 100644 --- a/game/presentation/views/level_map_screen.gd +++ b/game/presentation/views/level_map_screen.gd @@ -446,7 +446,7 @@ func _draw_graph(canvas: Control) -> void: # 当前节点 id(单链=下标 / 图=编号)——visited_ids() 已按编号空间解析 var visited: Array[Variant] = _runner.visited_ids() var cand_ids: Array[Variant] = _runner.next_candidate_ids() - var type_vis: Array = _runner.type_visible_ids() # 本停点类型可见集(每帧一取——纯函数零状态) + var type_vis: Array[int] = _runner.type_visible_ids() # 本停点类型可见集(每帧一取——纯函数零状态) # 连线(通道)先行画(方块覆盖其上);悬停预承诺 = 所属通道再增亮(加粗) # 选路停点(候选非空)非候选通道降透明——金岔路从结构网分离(干线共线重叠缺陷的 # 视觉主因:不同源通道共用同一垂直干线,金边与石色边焊接成「整列可走」假象) @@ -538,9 +538,9 @@ func display_probe() -> Dictionary: if _runner == null: return out var nodes: Array[Variant] = _runner.nodes() - var type_vis: Array = _runner.type_visible_ids() + var type_vis: Array[int] = _runner.type_visible_ids() var current_id: int = _runner.current_node_id() - var cand_ids: Array = _runner.next_candidate_ids() + var cand_ids: Array[Variant] = _runner.next_candidate_ids() for node in nodes: var nid := _id_of(node) out[nid] = node_display(node, nid, type_vis, nid == current_id, cand_ids.has(nid)) diff --git a/game/smoke/ui_input_probe.gd b/game/smoke/ui_input_probe.gd index dc31e3c5..80cfc264 100644 --- a/game/smoke/ui_input_probe.gd +++ b/game/smoke/ui_input_probe.gd @@ -56,6 +56,10 @@ func _ready() -> void: if boss_id < 0 or fog_id < 0: _pre_fail("case⑱ 雾面节点选取失败(boss=%d fog=%d)" % [boss_id, fog_id]) return + if bool(disp[fog_id]["draw_icon"]) or bool(disp[fog_id]["draw_label"]): + _pre_fail("case⑱ 雾下节点类型仍出示(图标=%s 文字=%s——范围外只见结构)〔fv2〕" + % [str(disp[fog_id]["draw_icon"]), str(disp[fog_id]["draw_label"])]) + return if not bool(disp[boss_id]["boss_border"]): _pre_fail("case⑱ Boss 节点未带描边标记(id=%d)〔fv3〕" % boss_id) return