feat(enemy): ContactChaseAbility 改造为 RushAbility(冲锋)
- 起手前锁定玩家 X 与方向(committed),终点改为身体整体越过锁定点(Body.HasPassed) - 终止条件:越过锁定点/撞墙(只判墙)/最大冲刺时长(SO 新增 maxDashDuration)/净位移卡死 - 冲锋期间经 EnemyMoveInput.AllowLedgeCross 放开悬崖夹紧,可冲下崖不悬停边缘 - 类与文件重命名(GUID 保留),脚手架与向导同步更新
This commit is contained in:
@@ -456,8 +456,8 @@ namespace BaseGames.Editor
|
||||
|
||||
// Model A:AI 只决策触发哪个能力(Idle/Patrol/Alert 已改为纯移动意图,由 EnemyLocomotion 执行,无需挂能力组件)
|
||||
Transform abilitiesT = GetOrCreateChild(go.transform, "Abilities");
|
||||
Transform chaseT = GetOrCreateChild(abilitiesT, "ContactChaseAbility_Chase");
|
||||
ContactChaseAbility chaseAbility = GetOrAddComponent<ContactChaseAbility>(chaseT.gameObject);
|
||||
Transform chaseT = GetOrCreateChild(abilitiesT, "RushAbility_Chase");
|
||||
RushAbility chaseAbility = GetOrAddComponent<RushAbility>(chaseT.gameObject);
|
||||
|
||||
// SOs — assign first so OnValidate doesn't warn during wiring
|
||||
AssignAsset(enemyBase, "_statsSO", report, false, "ENM_E001_Stats");
|
||||
@@ -995,8 +995,8 @@ namespace BaseGames.Editor
|
||||
Transform abilitiesT = GetOrCreateChild(go.transform, "Abilities");
|
||||
Transform leapT = GetOrCreateChild(abilitiesT, "LeapAttackAbility");
|
||||
LeapAttackAbility leapAbl = GetOrAddComponent<LeapAttackAbility>(leapT.gameObject);
|
||||
Transform chaseT = GetOrCreateChild(abilitiesT, "ContactChaseAbility");
|
||||
ContactChaseAbility chaseAbl = GetOrAddComponent<ContactChaseAbility>(chaseT.gameObject);
|
||||
Transform chaseT = GetOrCreateChild(abilitiesT, "RushAbility");
|
||||
RushAbility chaseAbl = GetOrAddComponent<RushAbility>(chaseT.gameObject);
|
||||
|
||||
// SOs — assign first so OnValidate doesn't warn during wiring
|
||||
AssignAsset(enemyBase, "_statsSO", report, false, "ENM_E006_Stats");
|
||||
|
||||
Reference in New Issue
Block a user