24 lines
1.1 KiB
GDScript
24 lines
1.1 KiB
GDScript
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)
|