感知门面 EnemyBase.InChaseZone(追逐/aggro)/InVisionZone(视野/los,缺省回退aggro),纯查询; 转换逻辑归 AI 层: 新增可复用 PerceptionStateMachine(统一规则,HasAlert/视野缺省自动降级); 规则: 未发现进视野→警觉, 进追逐→追击(委托能力), 追击脱离视野→巡逻(永不回警觉,再进视野再警觉). EnemyStatsSO.HasAlertState 勾选项; ContactChaseAbility 改纯执行器(退出由AI中断); E001 用可复用件. PlayMode 验证四态转换全通过. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
17 lines
794 B
C#
17 lines
794 B
C#
namespace BaseGames.Enemies
|
|
{
|
|
/// <summary>
|
|
/// 敌人侧的决策输出接口:AI 决策层用它"声明"当前行为阶段,由敌人模块(EnemyBase)负责
|
|
/// 实现(播放阶段动画、供警戒/群体逻辑消费)。AiPhase 属 Enemies 命名空间,
|
|
/// 故不放进通用 BaseGames.AI 接口;由 EnemyBrainContext 实现,Enemies 侧的 AiScript 使用。
|
|
/// </summary>
|
|
public interface IEnemyActor
|
|
{
|
|
/// <summary>声明当前 AI 行为阶段(EnemyBase 据此自动播放对应动画)。</summary>
|
|
void SetPhase(AiPhase phase);
|
|
|
|
/// <summary>该敌人是否有警觉状态(勾选项,来自 EnemyStatsSO)。false 时未发现态直接追击、不经警觉。</summary>
|
|
bool HasAlertState { get; }
|
|
}
|
|
}
|