46 lines
1.0 KiB
C#
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);
|
|
}
|
|
|
|
}
|