diff --git a/game/core/level_runner.gd b/game/core/level_runner.gd index cb9927bc..300534b3 100644 --- a/game/core/level_runner.gd +++ b/game/core/level_runner.gd @@ -295,13 +295,13 @@ func _find_level_row(level_index: int) -> Dictionary: # LevelTable.validate_graph(与产出侧自证同源规格、分工不重叠);违规=起关拒绝,不降级不回退。 func _assign_generated_graph(row: Dictionary, seed_val: int) -> bool: var level_index: int = int(row.get("level_index", 0)) - var params: Dictionary = db.level_gen_params_row(level_index) + var params: Dictionary[Variant, Variant] = db.level_gen_params_row(level_index) if params.is_empty(): push_error("[关卡节点地图] level %d 无参数档行(level_gen_params 缺行——配置错误)" % level_index) return false if _generator == null: _generator = NodeMapGenerator.new(rng) - var graph: Dictionary = _generator.generate(params, seed_val) + var graph: Dictionary[Variant, Variant] = _generator.generate(params, seed_val) if graph.is_empty() or _generator.is_fatal(): push_error("[关卡节点地图] level %d 生成图失败(参数无解或产出不合格——无兜底图)" % level_index) return false diff --git a/game/data/schemas/level_table.gd b/game/data/schemas/level_table.gd index a0753aa3..d9aea353 100644 --- a/game/data/schemas/level_table.gd +++ b/game/data/schemas/level_table.gd @@ -55,7 +55,7 @@ static func validate_graph(nodes: Array) -> Array: var by_id := {} var indeg := {} for i in nodes.size(): - var node: Dictionary = nodes[i] + var node: Dictionary[Variant, Variant] = nodes[i] for k in ["id", "type", "depth", "next"]: if not node.has(k): errs.append({"category": "structural", "message": "节点[%d] 缺字段 %s" % [i, k]})