SnapshotCaptureFormulaInputResolver
基于当前 battle snapshot 直接组装捕捉公式输入的默认 resolver。
设计意图:
让 battle-engine 在不额外依赖业务仓储的前提下,直接使用当前会话快照里的结构化单位元数据;
把
hp / status / type / metadata.captureRate / metadata.captureContext这一组输入统一收口;作为引擎内置的正式默认实现,替代测试和装配中到处回退到
UnsupportedCaptureActionResolver的状态。
当前约定:
ballItemInternalName直接沿用 capture action 传入的ballItemId;alreadyCaught暂时仍由业务层扩展 resolver 覆盖,内置实现默认false;若目标单位缺失、或没有
captureRate,会立即抛出清晰错误,避免静默使用错误默认值。
Functions
Link copied to clipboard
open override fun resolve(sessionId: String, snapshot: BattleRuntimeSnapshot, action: BattleSessionCaptureAction): CaptureFormulaInput