GameBattleInitializationModels.kt

package io.github.lishangbu.avalon.game.battle.init

import io.github.lishangbu.avalon.game.battle.engine.core.model.BattleType
import io.github.lishangbu.avalon.game.service.unit.BattleUnitImportRequest

/**
 * 一方阵营的导入建局请求。
 */
data class ImportedBattleSideRequest(
    val sideId: String,
    val units: List<BattleUnitImportRequest>,
    val activeUnitIds: Set<String> = emptySet(),
)

/**
 * 使用真实数据快速创建战斗会话的初始化请求。
 */
data class CreateImportedBattleSessionRequest(
    val sessionId: String,
    val formatId: String,
    val sides: List<ImportedBattleSideRequest>,
    val battleKind: BattleType = BattleType.TRAINER,
    val capturableSideId: String? = null,
    val autoStart: Boolean = true,
)