SideState.kt
package io.github.lishangbu.avalon.game.battle.engine.core.model
/**
* Side 级运行时状态骨架。
*
* 设计意图:
* - 表示一方阵营的局内状态。
* - 与战斗单位、场地状态解耦,避免把所有字段堆进 BattleState。
*
* @property id Side 唯一标识。
* @property unitIds 当前 side 名下全部单位标识列表。
* @property activeUnitIds 当前处于 active 槽位的单位标识列表。
* @property conditionStates 当前 side condition 的运行时状态表。
*/
data class SideState(
val id: String,
val unitIds: List<String> = emptyList(),
val activeUnitIds: List<String> = emptyList(),
val conditionStates: Map<String, AttachedEffectState> = emptyMap(),
)