/// <summary>
        /// Provide the Mecanim string that is associated with the state enum, so that we can do animations in code without
        /// using strings like barbarians.
        /// </summary>
        /// <param name="state">State to get Mecanim String For</param>
        /// <returns></returns>
        private string GetAnimatorParamFromState(UIScreenAnimState state)
        {
            string param = Animations.MECANIM_NONE;

            switch (state)
            {
            case UIScreenAnimState.None:
                param = Animations.MECANIM_NONE;
                break;

            case UIScreenAnimState.Intro:
                param = Animations.MECANIM_INTRO;
                break;

            case UIScreenAnimState.Outro:
                param = Animations.MECANIM_OUTRO;
                break;

            default:
                Debug.AssertFormat(true, "{0} : The state {1} is not a valid state for an animation transition.", gameObject.name, state.ToString());
                break;
            }

            return(param);
        }
 /// <summary>
 /// Set Animation Parameters, and let Mecanim Take Over.
 /// </summary>
 /// <param name="state">The Animation State to Transition To.</param>
 public virtual void PlayScreenAnimation(UIScreenAnimState state)
 {
     if (m_Animator != null)
     {
         m_Animator.SetTrigger(GetAnimatorParamFromState(state));
     }
     else
     {
         UIManager.Instance.IsAnimationLocked = false;
     }
 }
示例#3
0
 public virtual void PlayScreenAnimation(UIScreenAnimState state)
 {
     if (mAnimator != null)
     {
         mAnimator.SetTrigger(GetAnimatorParamFromState(state));
     }
     else
     {
         UIManager.Instance.Set2DAnimLock(false);
     }
 }
        /// <summary>
        /// Screen Animation Routine.
        ///
        /// </summary>
        /// <param name="state">The Animation State, From Game Code.</param>
        /// <returns></returns>
        public virtual IEnumerator DoScreenAnimation(UIScreenAnimState state)
        {
            // Wait for the animation to finish.
            while (UIManager.Instance.IsAnimationLocked)
            {
                yield return(null);
            }

            UIManager.Instance.IsAnimationLocked = true;
            PlayScreenAnimation(state);

            while (UIManager.Instance.IsAnimationLocked)
            {
                yield return(null);
            }
        }