BattleSessionActionExecutionResult.kt
package io.github.lishangbu.avalon.game.battle.engine.core.session
import io.github.lishangbu.avalon.game.battle.engine.core.runtime.flow.BattleRuntimeSnapshot
import io.github.lishangbu.avalon.game.battle.engine.core.runtime.flow.MoveResolutionResult
/**
* session 队列中单个行动的执行结果。
*
* @property action 被执行的原始行动。
* @property snapshot 执行该行动后的最新快照。
* @property moveResult 如果该行动是 move,则附带其主流程结果。
* @property skippedReason 如果该行动在轮到执行前已经失效,则记录跳过原因。
*/
data class BattleSessionActionExecutionResult(
val action: BattleSessionAction,
val snapshot: BattleRuntimeSnapshot,
val moveResult: MoveResolutionResult? = null,
val captureResult: BattleSessionCaptureResult? = null,
val skippedReason: String? = null,
)