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