using UnityEngine; namespace BaseGames.Player { [CreateAssetMenu(menuName = "Player/AnimationConfig")] public class PlayerAnimationConfigSO : ScriptableObject { [Header("移动")] public AnimationClip Idle; public AnimationClip Run; public AnimationClip Jump; public AnimationClip Fall; public AnimationClip Dash; [Header("墙")] public AnimationClip WallSlide; [Header("受伤 / 死亡")] public AnimationClip Hurt; public AnimationClip Dead; [Header("弹簧")] public AnimationClip UseSpring; [Header("地面攻击(连招序列)")] public AnimationClip[] GroundAttacks; [Header("空中攻击")] public AnimationClip AirAttack; public AnimationClip UpAttack; public AnimationClip DownAttack; // 戳击 (Pogo) [Header("弹反")] public AnimationClip ParryStart; public AnimationClip ParrySuccess; /// 按连招步骤取地面攻击动画,越界自动取最后一个。 public AnimationClip GetAttackClip(int step) { if (GroundAttacks == null || GroundAttacks.Length == 0) return null; return step < GroundAttacks.Length ? GroundAttacks[step] : GroundAttacks[^1]; } } }