merge: 流派件持有呈现补齐落籍(用户反馈「局内奖励选了什么看不到」——HUD C区流派件常驻段;718/0+ui_probe绿)
This commit is contained in:
commit
c34fcdc6a0
4 files changed
+56
No files matched your search
@@ -599,6 +599,11 @@ func set_relics(ids: Array) -> void:
|
||||
_relics = ids
|
||||
|
||||
|
||||
# 流派件持有集读面(迭代 12 呈现补齐——HUD C 区流派件段数据源)
|
||||
func relics_held() -> Array:
|
||||
return _relics.duplicate()
|
||||
|
||||
|
||||
# 树 rule 键集注入(迭代 12 T10——begin_battle enc.tree_rules 携带;Fork 激活侧 effects)
|
||||
var _tree_rules: Array = []
|
||||
|
||||
|
||||
@@ -34,6 +34,27 @@ static func refresh(stage: BattleStageView, info: HeroInfoPanelView, ap_bar: ApB
|
||||
info.set_level_bonuses(lines)
|
||||
else:
|
||||
info.set_level_bonuses([])
|
||||
# 流派件持有投影(迭代 12 呈现补齐 2026-10-04——用户反馈「局内奖励选了什么看不到」:
|
||||
# 逐流派聚合行+成型档位;常驻可读+空态隐藏。档位求值=RelicsEngine 纯函数直调)
|
||||
if runner != null and level_active and db != null and db.relics != null and not (db.relics.rows as Array).is_empty():
|
||||
var held: Array = runner.relics_held()
|
||||
var rlines: Array[String] = []
|
||||
if not held.is_empty():
|
||||
var arch_names := {"magic": "魔法", "pierce": "穿刺", "normal": "普攻", "dig": "开格",
|
||||
"flag": "标旗", "charge": "蓄力", "devour": "吞噬"}
|
||||
var counts := {}
|
||||
for rid in held:
|
||||
var rrow: Dictionary = db.relic_row(String(rid))
|
||||
var arch := String(rrow.get("archetype", ""))
|
||||
counts[arch] = int(counts.get(arch, 0)) + 1
|
||||
var tiers: Dictionary = RelicsEngine.tiers_for(held, db.relics)
|
||||
for arch in counts.keys():
|
||||
var tier := int(tiers.get(arch, 0))
|
||||
var tier_text := "档二" if tier >= 2 else ("档一" if tier == 1 else "散件")
|
||||
rlines.append("%s ×%d · %s" % [String(arch_names.get(String(arch), String(arch))), int(counts[arch]), tier_text])
|
||||
info.set_relic_holdings(rlines)
|
||||
else:
|
||||
info.set_relic_holdings([])
|
||||
if settlement == null:
|
||||
_refresh_out_of_battle(stage, info, ap_bar, runner, level_active, db)
|
||||
return
|
||||
|
||||
@@ -21,6 +21,8 @@ var _selected_handle := 0 # 选中态(0=无;组合根回写
|
||||
var _slot_handles: Array = [] # 槽位→handle 映射(set_aux_inventory 刷新)
|
||||
var _bonus_section: VBoxContainer # 本关强化(预留——空态隐藏,接线归大奖励/锻造呈现批)
|
||||
var _bonus_list: VBoxContainer
|
||||
var _relic_section: VBoxContainer # 流派件持有段(迭代 12 呈现补齐——空态隐藏)
|
||||
var _relic_list: VBoxContainer
|
||||
|
||||
|
||||
func _init() -> void:
|
||||
@@ -76,6 +78,16 @@ func _init() -> void:
|
||||
_bonus_list = VBoxContainer.new()
|
||||
_bonus_list.add_theme_constant_override("separation", 2)
|
||||
_bonus_section.add_child(_bonus_list)
|
||||
# 流派件持有段(迭代 12 呈现补齐 2026-10-04——三选一流派件兑付后常驻可读:逐流派聚合行+成型档位;
|
||||
# 空态整节隐藏。用户试玩反馈「局内奖励选了什么看不到」缺口承载)
|
||||
_relic_section = VBoxContainer.new()
|
||||
_relic_section.add_theme_constant_override("separation", 4)
|
||||
_relic_section.visible = false
|
||||
col.add_child(_relic_section)
|
||||
_relic_section.add_child(UiKit.label("流派件", 16, true))
|
||||
_relic_list = VBoxContainer.new()
|
||||
_relic_list.add_theme_constant_override("separation", 2)
|
||||
_relic_section.add_child(_relic_list)
|
||||
|
||||
|
||||
func set_attack(atk: int, mod_text: String) -> void:
|
||||
@@ -88,6 +100,17 @@ func set_armor(ac: int) -> void:
|
||||
_armor_label.text = "护甲 AC %d" % ac
|
||||
|
||||
|
||||
# 流派件持有段(迭代 12 呈现补齐):lines = 聚合文案行(「魔法 ×2 · 档一」式)——空数组 = 整节隐藏
|
||||
func set_relic_holdings(lines: Array) -> void:
|
||||
for c2 in _relic_list.get_children():
|
||||
_relic_list.remove_child(c2)
|
||||
c2.queue_free()
|
||||
for line in lines:
|
||||
var l2 := UiKit.label(String(line), 16, false, COL_INK)
|
||||
_relic_list.add_child(l2)
|
||||
_relic_section.visible = not lines.is_empty()
|
||||
|
||||
|
||||
# 本关强化列表(预留接线面):lines = 文案行数组(如「锻造 +2 攻击」)——空数组 = 整节隐藏
|
||||
func set_level_bonuses(lines: Array) -> void:
|
||||
for c in _bonus_list.get_children():
|
||||
|
||||
@@ -725,6 +725,13 @@ func _smoke_relics() -> void:
|
||||
"深挖钻头=开掘 +1 AP/每 4 格深层产出(R4 甲非信息税对价)· 蓄力三件=层值 1/减伤 1/层/满层 ×2")
|
||||
check(orch.action_economy.relic_ap_carry and orch.action_economy.relic_dig_extra == 1,
|
||||
"蓄力/钻头 action_economy 注入(ap_carry 改写停手转存 + 付费开掘对价注入——关着 false/0 零扰动)")
|
||||
# ⑦c 流派件持有呈现段(2026-10-04 用户反馈补齐——C 区「流派件」节:聚合行+成型档位;空态隐藏)
|
||||
var panel = load("res://presentation/views/hero_info_panel_view.gd").new()
|
||||
panel.set_relic_holdings([])
|
||||
check(not panel._relic_section.visible, "流派件段空态隐藏(视图空态纪律同本关强化段)")
|
||||
panel.set_relic_holdings(["魔法 ×2 · 档一", "开格 ×1 · 散件"])
|
||||
check(panel._relic_section.visible and panel._relic_list.get_child_count() == 2,
|
||||
"流派件段持有呈现(聚合行+成型档位常驻可读——「局内奖励选了什么看不到」缺口承载)")
|
||||
# ⑦b 深挖钻头付费开掘回归(2026-10-04 试玩缺陷修复——对价挂付费侧):AP=1 降级照常开格
|
||||
# (用户实测「AP=1 无法开格只能标旗」的回归闸);AP=2 付全价积付费计数(深层产出配额取数面)。
|
||||
var ae_dd = load("res://core/action_economy.gd").new(_db)
|
||||
|
||||
Reference in new issue
Block a user