Files
5.24BuYu/Assets/MyGame/aa/Game/YYSC/Monster/Scripts/SpineMovePlayer.cs
T
2026-05-07 03:46:03 +08:00

57 lines
1.2 KiB
C#

using UnityEngine;
using Spine.Unity;
public class SpineMovePlayer
{
public SkeletonAnimation skeleton;
public string idleName = "idle";
private static readonly string[] MoveNames =
{
"move", "walk", "run",
"Move", "Walk", "Run",
"MOVE", "WALK", "RUN"
};
private string cachedMoveAnim = null;
public void Init()
{
cachedMoveAnim = FindMoveAnimation(skeleton);
}
private string FindMoveAnimation(SkeletonAnimation sk)
{
var anims = sk.Skeleton.Data.Animations;
foreach (var name in MoveNames)
{
foreach (var a in anims)
{
if (a.Name == name)
return a.Name;
}
}
return null;
}
public string PlayMove()
{
if (!string.IsNullOrEmpty(cachedMoveAnim))
{
skeleton.AnimationState.SetAnimation(0, cachedMoveAnim, true);
return cachedMoveAnim;
}
else
{
skeleton.AnimationState.SetAnimation(0, idleName, true);
return idleName;
}
}
public void PlayIdle()
{
skeleton.AnimationState.SetAnimation(0, idleName, true);
}
}