using System.Collections; using System.Collections.Generic; using UnityEngine; namespace BF { [ExecuteInEditMode] [DisallowMultipleComponent] public class UISpineHelper : MonoBehaviour { private Spine.Unity.SkeletonGraphic skeletonGraphic; private Spine.AnimationState animationState; void Awake() { skeletonGraphic = this.GetComponent(); animationState = skeletonGraphic.AnimationState; } public void Reload() { animationState = skeletonGraphic.AnimationState; } public List GetAnimationKeyFrameTime(string name) { List times = new List(); var animation = skeletonGraphic.skeletonDataAsset.GetAnimationStateData().SkeletonData.FindAnimation(name); foreach (var timeline in animation.Timelines) { var eventTimeline = timeline as Spine.EventTimeline; if (eventTimeline != null && eventTimeline.Events.Length > 0) { foreach (var eventInfo in eventTimeline.Events) { times.Add(eventInfo.Time); } } } return times; } } }