using System.Collections; using System.Collections.Generic; using UnityEngine; public class GudieAnimationManager : MonoBehaviour { private Animator _animator; private string _currName; private void Awake() { _animator = transform.GetComponentInChildren(); } public void Play(string name) { _animator.CrossFade(name, 0.5f); _currName = name; } private void Update() { if (string.IsNullOrEmpty(_currName)) return; //当未达到指标且动画播放完毕时,重新播放 if (_animator.GetCurrentAnimatorStateInfo(0).normalizedTime >= 1.0f) { if (YogaManager.Instance.CurrentActionCount < YogaManager.Instance.MaxActionCount) { _animator.Play(_currName, 0, 0.0f); } } } public void Stop() { _animator.StopPlayback(); } public void FrameEstimate() { EventManager.Instance.Dispatch(YogaEventType.PoseEstimate); } }