BattleSessionChoiceStatus.kt
package io.github.lishangbu.avalon.game.battle.engine.core.session
/**
* BattleSession 中某个 side 的当前回合输入状态。
*
* 设计意图:
* - 把“当前哪些 active 单位已经提交行动、哪些还未提交”显式表达出来。
* - 让上层调用者在 resolveTurn 之前可以判断回合输入是否完整。
*
* @property sideId 当前 side 标识。
* @property activeUnitIds 当前 side 的 active 单位列表。
* @property submittedUnitIds 本回合已提交行动的 active 单位列表。
* @property missingUnitIds 本回合尚未提交行动的 active 单位列表。
* @property requiredActionCount 当前 side 本回合应提交行动数。
* @property submittedActionCount 当前 side 本回合已提交行动数。
* @property ready 当前 side 是否已经满足最小回合提交要求。
*/
data class BattleSessionChoiceStatus(
val sideId: String,
val activeUnitIds: List<String>,
val submittedUnitIds: List<String>,
val missingUnitIds: List<String>,
val requiredActionCount: Int,
val submittedActionCount: Int,
val ready: Boolean,
)