UnitSessionState.kt

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

/**
 * 单位在 battle session 内部使用的工作状态。
 *
 * 设计意图:
 * - 承载只服务于 session 编排、但又必须跟随 snapshot 一起导出/恢复的内部状态;
 * - 避免继续把这类状态塞进单位调试探针状态,导致测试探针与真实运行时控制位混杂。
 *
 * @property faintHookProcessed 当前这次倒下是否已经派发过 `on_faint`。
 * @property pendingSwitchBoostCarry 当前单位下一次离场时要传给接替者的 boosts 快照。
 */
data class UnitSessionState(
    val faintHookProcessed: Boolean = false,
    val pendingSwitchBoostCarry: Map<String, Int> = emptyMap(),
)