- 起手前锁定玩家 X 与方向(committed),终点改为身体整体越过锁定点(Body.HasPassed) - 终止条件:越过锁定点/撞墙(只判墙)/最大冲刺时长(SO 新增 maxDashDuration)/净位移卡死 - 冲锋期间经 EnemyMoveInput.AllowLedgeCross 放开悬崖夹紧,可冲下崖不悬停边缘 - 类与文件重命名(GUID 保留),脚手架与向导同步更新
24 lines
1.1 KiB
C#
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;
|
|
}
|
|
}
|