iter51-卡2

This commit is contained in:
DKChan committed 2026-11-04 05:08:31 +08:00
1 parent 1cd6e2b1b0
commit 372b4fdc31
27 files changed
+1231 -356

No files matched your search

+12 -6
View File
@@ -1,16 +1,22 @@
class_name DecaySegment
extends RefCounted
# ④ 衰减段 Segment(P1-1 结算巨函数拆段;段边界=审计五段〔裁点③甲〕)。
# 职责:状态衰减恰一次恒执行含末轮——先兑付后衰减。行发射归宿主编排器(oc)——
# 职责:状态衰减恰一次恒执行含末轮——先兑付后衰减。
# 耦合边界(5.1 封装修复换代):引用束注入——构造收编排器组装的 20 键封闭束,本段断言 2 键
# (status_effects/emit_row_cb)解包同名成员;行发射经 emit_row_cb 回宿主——对编排器零引用。
# 零算法改动(🔴 零行为变更契约)。
var oc: BattleOrchestrator # 宿主(类型标注=段内 := 推断前提;循环类名引用 Godot 4 全局类安全) 宿主
var status_effects: StatusContainer # 状态容器(衰减推进面)
var emit_row_cb: Callable # 宿主 _emit_row——行协议面单点(5 参 head 束形)
func _init(host) -> void:
oc = host
func _init(bundle: Dictionary) -> void:
for k in ["status_effects", "emit_row_cb"]:
assert(bundle.has(k), "[衰减段] 引用束缺键: %s" % k)
status_effects = bundle.status_effects
emit_row_cb = bundle.emit_row_cb
func run(ri: int) -> void:
var k: int = oc._status_effects.decay_round()
oc._emit_row({"type": "decay", "source_class": "", "origin_cell": Vector2i(-1, -1)}, ri, "状态衰减", k, {})
var k: int = status_effects.decay_round()
emit_row_cb.call({"type": "decay", "source_class": "", "origin_cell": Vector2i(-1, -1)}, ri, "状态衰减", k, {})