diff --git a/game/presentation/main.gd b/game/presentation/main.gd index 23dad591..ceb23bc3 100644 --- a/game/presentation/main.gd +++ b/game/presentation/main.gd @@ -1089,9 +1089,9 @@ func _status_data() -> Dictionary: # 秘宝行映射(inventory_projection 现役投影逐行取 name/used 两键——受理序沿库存投影; # 禁第二份投影:件名换算已在 inventory_projection 收口,此处只做键裁剪) func _status_curios() -> Array: - var out: Array = [] + var out: Array[Variant] = [] for row in (_treasure_ui.inventory_projection() as Array): - var r: Dictionary = row + var r: Dictionary[Variant, Variant] = row out.append({"name": String(r.get("name", "")), "used": bool(r.get("used", false))}) return out diff --git a/game/presentation/views/status_panel.gd b/game/presentation/views/status_panel.gd index fbeb8842..e97ac37f 100644 --- a/game/presentation/views/status_panel.gd +++ b/game/presentation/views/status_panel.gd @@ -1,6 +1,6 @@ ## VERTICAL SLICE - NOT FOR PRODUCTION ## 局内状态面板·只读:本局信息面板(钥石总量+本局四件:带的秘宝/已获专长/当前属性/现有 GP)。 -## 跨关解锁概览(秘宝匣解锁态/天赋树已购)由营地/生涯承载——本面板不再镜像(迭代 36 卡③)。 +## 跨关解锁概览(秘宝匣解锁态/天赋树已购)由营地/生涯承载,本面板不镜像。 ## 账面快照由组合根 open_status 喂入;进出零动效直开直关;构成件全部经 UiKit 工厂产出——禁裸色值自建样式。 class_name StatusPanel extends Control @@ -73,17 +73,17 @@ func open_status(data: Dictionary) -> void: _attrs_label.text = "生命 %d/%d · 攻击 %d · 护甲 AC %d · GP %d" % [ int(data.get("hero_hp", 0)), int(data.get("max_hp", 0)), int(data.get("atk", 0)), int(data.get("ac", 0)), int(data.get("gp", 0))] - var curios: Array = data.get("curios", []) - if (curios as Array).is_empty(): + var curios: Array[Variant] = data.get("curios", []) + if curios.is_empty(): _curios_label.text = "未携带秘宝" else: var parts: Array[String] = [] for row in curios: - var r: Dictionary = row + var r: Dictionary[Variant, Variant] = row parts.append(String(r.get("name", "")) + ("(已用)" if bool(r.get("used", false)) else "")) _curios_label.text = " · ".join(parts) - var feats: Array = data.get("feats", []) - _feats_label.text = "未获专长" if (feats as Array).is_empty() else " · ".join(feats) + var feats: Array[Variant] = data.get("feats", []) + _feats_label.text = "未获专长" if feats.is_empty() else " · ".join(feats) visible = true