DefaultBattleSessionAvailableTargetResolver.kt
package io.github.lishangbu.avalon.game.battle.engine.core.session.target
import io.github.lishangbu.avalon.game.battle.engine.core.runtime.flow.BattleRuntimeSnapshot
/**
* 默认可选目标解析器。
*/
class DefaultBattleSessionAvailableTargetResolver : BattleSessionAvailableTargetResolver {
/**
* 解析指定目标模式下当前可选的目标单位列表。
*/
override fun resolve(
snapshot: BattleRuntimeSnapshot,
actorUnitId: String,
mode: BattleSessionTargetMode,
): List<String> =
BattleSessionTargetingSupport.availableTargetUnitIds(
mode = mode,
actorUnitId = actorUnitId,
sides = snapshot.sides.values,
)
}