BattleSessionDefaultTurnStepFactory.kt

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

/**
 * 默认 battle turn step 列表工厂。
 *
 * 设计意图:
 * - 把默认步骤装配从 `DefaultBattleSessionTurnPipeline` 主类中拆开;
 * - 让 pipeline 自身不再关心“默认有哪些步骤”,只关心“如何执行这些步骤”;
 * - 便于测试和未来扩展不同 battle mode 的默认 turn pipeline。
 */
internal object BattleSessionDefaultTurnStepFactory {
    fun createDefaultSteps(): List<BattleSessionTurnStep> =
        listOf(
            BattleSessionTurnValidationStep(),
            BattleSessionBeforeTurnStep(),
            BattleSessionQueuedActionExecutionStep(),
            BattleSessionTurnAdvanceStep(),
        )
}