using ET; using Animancer; using UnityEngine; using System; namespace Mono { public class AnimationData : MonoBehaviour { public AnimancerComponent Animancer; public enum AnimationType { Idle, Run, Dead, Skill0, Skill1, Skill2, Skill3, Skill4, Skill5, Skill6, SkillMax } [Serializable] public struct AniInfo { public AnimationType Type; public ClipTransition Clip; } public AniInfo[] AnimationClips = new AniInfo[1]; public ClipTransition GetClip(AnimationType type) { foreach (var clip in AnimationClips) { if (clip.Type == type) { return clip.Clip; } } return null; } public void PlayAnimation(AnimationType type, Action endcb = null) { var clip = GetClip(type); if (clip != null) { var state = Animancer.Play(clip); state.Time = 0; if(endcb != null) { state.Events.OnEnd = endcb; } } else { Log.Error($"Not exist clip({type}) @{gameObject.name}"); } } } }