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:
@@ -488,14 +488,8 @@ namespace BaseGames.Editor
|
||||
BodyContactDamage bodyContact = GetOrAddComponent<BodyContactDamage>(contactT.gameObject);
|
||||
bodyContact.enabled = false; // 伪装/待机期不伤人;由 e001_chase 能力在追击期开启
|
||||
|
||||
// Model A:每个 AI 状态 = 一个行为能力(AI 只决策触发哪个 id,行为在能力里实现)
|
||||
// Model A:AI 只决策触发哪个能力(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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user