Health/Assets/Scripts/PoseCheck/GudieAnimationManager.cs

46 lines
1.0 KiB
C#

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<Animator>();
}
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);
}
}