感知门面 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>
16 lines
686 B
C#
16 lines
686 B
C#
using UnityEngine;
|
|
|
|
namespace BaseGames.AI
|
|
{
|
|
/// <summary>感知能力接口(第 3 阶段由 SensorAdapter 适配感知系统)。</summary>
|
|
public interface ISensor
|
|
{
|
|
bool InChaseZone(); // 追逐感知:玩家在追逐触发区内 → 触发追击
|
|
bool InVisionZone(); // 视野感知:玩家在视野内(升级警觉/维持追击;缺省回退追逐感知)
|
|
bool SeesPlayer(); // 视线可见(LOS/Sight 槽位)
|
|
bool InRange(float range); // 内部用平方距离比较
|
|
bool LostFor(float seconds); // 丢失玩家已持续 seconds
|
|
Vector2 LastKnown { get; }
|
|
}
|
|
}
|