using SepCore.CustomComponent;
namespace SepCore.Battle
{
///
/// 敌人策略接口。
/// 策略只读取快照并返回指令,不直接修改 BattleSession。
/// 当前没有可执行行动时,本次行动机会记为跳过,不能形成无限循环。
///
public interface IEnemyBattlePolicy
{
///
/// 为当前敌人行动者决定指令。
///
/// 只读战斗快照。
/// 当前获得行动机会的敌人单位。
/// 本局共享随机源。
BattleCommand Decide(BattleSnapshot snapshot, int actorUnitId, IRunRandomSource random);
}
}