Files
zeling_v2/Assets/_Game/Scripts/Enemies/Abilities/Configs/RushAbilitySO.cs
T
joywayer 4808077fc6 feat(enemy): ContactChaseAbility 改造为 RushAbility(冲锋)
- 起手前锁定玩家 X 与方向(committed),终点改为身体整体越过锁定点(Body.HasPassed)
- 终止条件:越过锁定点/撞墙(只判墙)/最大冲刺时长(SO 新增 maxDashDuration)/净位移卡死
- 冲锋期间经 EnemyMoveInput.AllowLedgeCross 放开悬崖夹紧,可冲下崖不悬停边缘
- 类与文件重命名(GUID 保留),脚手架与向导同步更新
2026-07-27 13:38:05 +08:00

24 lines
1.1 KiB
C#

using Animancer;
using UnityEngine;
namespace BaseGames.Enemies.Abilities
{
/// <summary>RushAbility(冲锋)的配置:起手/循环/收招动画 + 冲刺速度与时长上限。</summary>
[CreateAssetMenu(menuName = "BaseGames/Enemies/Abilities/Rush Ability", fileName = "ABL_")]
public class RushAbilitySO : EnemyAbilitySO
{
[Header("动画(起手 / 循环 / 收招)")]
public ClipTransition startClip; // Skill_Start:起手(一次性)
public ClipTransition loopClip; // Skill_Loop:冲锋推进(循环)
public ClipTransition endClip; // Skill_End:收招(一次性)
[Header("冲刺")]
[Tooltip("冲刺速度;<=0 时回退用 EnemyStatsSO.RunSpeed(追击速度)")]
public float dashSpeed = 0f;
[Tooltip("单次冲锋的最长时长(秒)。够不到锁定点时(掉坑/对岸/被非检测层挡住)由它收尾。" +
"0 = 不限时长(仅靠越过锁定点/撞墙/卡死检测终止)。")]
[Min(0f)] public float maxDashDuration = 2f;
}
}