Files
zeling_v2/Assets/_Game/Scripts/Enemies/AIBrain/Ai/E001CaoZhiAi.cs
T
joywayerandClaude Opus 4.8 842a20fbb3 chore(enemy): [临时调试] E001 初始态改为 Move_Patrol,出生即巡逻便于 MCP 调试
仅为调试方便:Entry 从 Idle_Disguise 改为 Move_Patrol,一进场就走 Waypoints。
正式版应改回 Idle_Disguise(伪装静止),代码处已留 [临时调试] 注释标记待回退。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 15:13:30 +08:00

37 lines
1.6 KiB
C#

using BaseGames.AI;
namespace BaseGames.Enemies
{
/// <summary>
/// E001(草蛭)AI —— 纯决策层,复用 PerceptionStateMachine 的"待机/警觉/追击/巡逻"统一规则。
/// 只声明差异:每个状态触发哪个能力(待机=伪装静止、巡逻=游走、警觉=张口、追击=接触追击)。
/// AI 只决策(进哪个状态/转换条件/触发哪个能力);移动/朝向/停/速度/动画/伤害/阶段声明全部在能力里实现。
/// 依据 Docs/Game/Design/小怪设计-程序开发文档-01.md。
/// </summary>
[AiDefinition("E001")]
public sealed class E001CaoZhiAi : AiScript
{
protected override void Build(BrainBuilder b)
{
PerceptionStateMachine.Add(b, new PerceptionStateMachine.Config
{
Idle = "Idle_Disguise",
Patrol = "Move_Patrol",
Alert = "Alert",
Chase = "Chase",
Death = "Death",
// [临时调试] 初始态改为巡逻,方便一进场就走 Waypoints(正式应为 "Idle_Disguise" 伪装静止)。
Entry = "Move_Patrol",
Rest = "Move_Patrol",
IdleMode = LocomotionMode.Idle,
PatrolMode = LocomotionMode.Patrol,
AlertMode = LocomotionMode.Face,
ChaseAbilityId = "e001_chase",
PatrolBetweenChases = true, // 冲刺=带冷却的冲锋:冲完→CD 期巡逻→冷却结束仍在追逐区→再冲
// DeathAbilityId 留空:死亡演出走物理状态机(EnemyBase.PerformDeath)
});
}
}
}