class_name RunLedger extends RefCounted # 同调充能账瘦壳(冒险域拆件批瘦身半程——bonus 账/真视账/冒险桶已迁 HeroLedger 与冒险应用层)。 # 所有权:AdventureRunner 持有(开局构造、冒险全程唯一宿主);LevelRunner 经 set_run_ledger # 下传并装配 encounter;战斗侧(BattleOrchestrator)经 encounter["ledger"] 拿本类引用, # 只走下方原语。整类文件退役归姊妹副卡(充能域封装批——单源化后零引用即删)。 var attune_charges: Dictionary[Variant, Variant] = {} # 同调主动件充能账(use_treasure 扣减;断点随局回档) # ---- 战斗侧原语(宿主侧冒险/关卡域直读字段域) ---- func attune_charge_has(item_id: String) -> bool: return attune_charges.has(item_id) func attune_charge_set(item_id: String, value: int) -> void: attune_charges[item_id] = value func attune_charge_consume(item_id: String) -> void: # 原编排器 use_treasure 扣减语义逐字(has 闸 + maxi(0,·) 下限) if attune_charges.has(item_id): attune_charges[item_id] = maxi(0, int(attune_charges[item_id]) - 1)