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

}