Exemplo n.º 1
0
        protected IEnumerator PlayHideAnimation(HideAnimation animation)
        {
            // Don't start animating if we're already animating (wait for the animation to finish first)
            while (_IsAnimating)
            {
                yield return(new WaitForEndOfFrame());
            }

            _IsAnimating = true;

            if (HideAnimationDelay > 0)
            {
                yield return(new WaitForSeconds(HideAnimationDelay));
            }

            CanvasGroup.blocksRaycasts = false;

            if (animation.IsSlideAnimation())
            {
                m_Animator.enabled = false;
                yield return(PlaySlideOutAnimation(animation));
            }
            else
            {
                m_Animator.enabled = true;
                m_Animator.speed   = 0.25f / AnimationDuration;
                m_Animator.Play(animation.ToString());
                yield return(new WaitForSeconds(m_Animator.GetCurrentAnimatorStateInfo(0).length / m_Animator.speed));

                m_Animator.enabled = false;
            }

            _IsAnimating = false;
        }