Skip to content

Commit 715bd8a

Browse files
committed
feat(动画扩展): 添加检查动画存在和获取当前动画名称的方法
添加两个扩展方法:HasAnimation用于检查指定动画是否存在,GetCurrentAnimationName用于获取当前播放的动画名称。这些方法提供了更方便的动画状态查询功能。
1 parent c1f2b34 commit 715bd8a

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

Runtime/Extension/SkeletonAnimationExtension.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,31 @@ public static void SetSortingOrder(this SkeletonAnimation skeletonAnimation, int
4343
render.sortingOrder = sortingOrder;
4444
}
4545

46+
47+
/// <summary>
48+
/// 检查指定名称的动画是否存在于SkeletonAnimation组件中
49+
/// </summary>
50+
/// <param name="skeletonAnimation">SkeletonAnimation组件</param>
51+
/// <param name="animationName">要检查的动画名称</param>
52+
/// <returns>如果动画存在则返回true,否则返回false</returns>
53+
public static bool HasAnimation(this SkeletonAnimation skeletonAnimation, string animationName)
54+
{
55+
var skeletonData = skeletonAnimation.Skeleton.Data;
56+
var animation = skeletonData.FindAnimation(animationName);
57+
return animation != null;
58+
}
59+
60+
/// <summary>
61+
/// 获取当前播放的动画名称
62+
/// </summary>
63+
/// <param name="skeletonAnimation">SkeletonAnimation组件</param>
64+
/// <returns>当前播放的动画名称;若未播放任何动画则返回空字符串</returns>
65+
public static string GetCurrentAnimationName(this SkeletonAnimation skeletonAnimation)
66+
{
67+
var currentEntry = skeletonAnimation.AnimationState.GetCurrent(0);
68+
return currentEntry == null ? string.Empty : currentEntry.Animation.Name;
69+
}
70+
4671
/// <summary>
4772
/// 播放Spine骨骼动画
4873
/// </summary>

0 commit comments

Comments
 (0)