Files
gplan-2/game/core/attunement.gd
T

18 lines
848 B
GDScript

## VERTICAL SLICE - NOT FOR PRODUCTION
## 同调位求值服务:槽位数与装配参数的纯函数读数面(垂直切片验证:营地装配同调件在战斗内生效)。
## 零 await、零 RNG、零写副作用——静态纯函数同输入恒同输出,呈现期可安全重复求值。
class_name Attunement
extends RefCounted
# 同调位实时求值(营地进冒险前求值一次 + 装配覆盖层实时呈现共用同一口径):
# 槽位数量 = att_socket1..3 树点亮数(tree_level>=1),未点亮=0。
# db 参数保留(调用面两处签名不变——当前判定源零表依赖,参数弃置)。
static func slots(db: ConfigDb, save: Variant) -> int:
if save == null:
return 0
var n := 0
for i in range(1, 4):
if save.meta_state.tree_state().nodes.get("att_socket%d" % i, 0) >= 1:
n += 1
return n