refactor(ai): Chase 走 Locomotion.Approach;删除 Idle/Patrol/Alert 协程能力与 SO

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-10 12:24:45 +08:00
co-authored by Claude Opus 4.8
parent 63b3701fc7
commit 1bc6f5bf1c
14 changed files with 3 additions and 236 deletions
@@ -488,14 +488,8 @@ namespace BaseGames.Editor
BodyContactDamage bodyContact = GetOrAddComponent<BodyContactDamage>(contactT.gameObject);
bodyContact.enabled = false; // 伪装/待机期不伤人;由 e001_chase 能力在追击期开启
// Model A每个 AI 状态 = 一个行为能力(AI 只决策触发哪个 id,行为在能力里实现
// Model AAI 只决策触发哪个能力(Idle/Patrol/Alert 已改为纯移动意图,由 EnemyLocomotion 执行,无需挂能力组件
Transform abilitiesT = GetOrCreateChild(go.transform, "Abilities");
Transform idleT = GetOrCreateChild(abilitiesT, "IdleAbility_Idle");
IdleAbility idleAbility = GetOrAddComponent<IdleAbility>(idleT.gameObject);
Transform patrolT = GetOrCreateChild(abilitiesT, "PatrolAbility_Patrol");
PatrolAbility patrolAbility = GetOrAddComponent<PatrolAbility>(patrolT.gameObject);
Transform alertT = GetOrCreateChild(abilitiesT, "AlertAbility_Alert");
AlertAbility alertAbility = GetOrAddComponent<AlertAbility>(alertT.gameObject);
Transform chaseT = GetOrCreateChild(abilitiesT, "ContactChaseAbility_Chase");
ContactChaseAbility chaseAbility = GetOrAddComponent<ContactChaseAbility>(chaseT.gameObject);
@@ -523,9 +517,6 @@ namespace BaseGames.Editor
new[] { "Platform", "OneWayPlatform", "MovingOneWayPlatform", "MidHeightOneWayPlatform" },
report);
AssignAsset(idleAbility, "_config", report, false, "ABL_E001_Idle");
AssignAsset(patrolAbility, "_config", report, false, "ABL_E001_Patrol");
AssignAsset(alertAbility, "_config", report, false, "ABL_E001_Alert");
AssignAsset(chaseAbility, "_config", report, false, "ABL_E001_Chase");
AssignReference(chaseAbility, "_contactDamage", bodyContact, report);