UnsupportedCaptureActionResolver.kt

package io.github.lishangbu.avalon.game.battle.engine.core.capture

import io.github.lishangbu.avalon.game.battle.engine.core.session.BattleSession
import io.github.lishangbu.avalon.game.battle.engine.core.session.BattleSessionCaptureAction
import io.github.lishangbu.avalon.game.battle.engine.core.session.BattleSessionCaptureResult
import io.github.lishangbu.avalon.game.battle.engine.spi.capture.CaptureActionResolver

/**
 * 默认捕捉解析器。
 *
 * 未被业务模块覆盖时,明确拒绝 capture action。
 */
class UnsupportedCaptureActionResolver : CaptureActionResolver {
    override fun resolve(
        session: BattleSession,
        action: BattleSessionCaptureAction,
    ): BattleSessionCaptureResult = error("Capture action is not supported for session '${session.currentSnapshot.battle.id}'.")
}