protected virtual void OnTransitionStarts(StateEventArgs <TState> e)
        {
            if (SkipFirstFadeIn)
            {
                SkipFirstFadeIn = false;
                return;
            }

            if (Array.IndexOf(SkipWhenExitingFrom, e.PrevState) != -1)
            {
                return;
            }
            if (Array.IndexOf(SkipWhenEnteringTo, e.NextState) != -1)
            {
                return;
            }

            m_CurrentTransitionArgs = e;
            m_CurrentTransitionArgs.AddTransition(this);

            m_StartTime  = Now;
            m_StartAlpha = (Inverse) ? 1.0f : 0.0f;
            m_EndAlpha   = (Inverse) ? 0.0f : 1.0f;

            TargetCanvas.alpha = m_StartAlpha;

            TargetCanvas.gameObject.SetActive(true);
            enabled = true;
        }
Exemple #2
0
            public TransitionScope(StateEventArgs <TState> transitionArgs, object source)
            {
                m_TransitionArgs = transitionArgs;
                m_Source         = source;

                m_TransitionArgs.AddTransition(source);
            }
        protected virtual void OnTransitionStarts(StateEventArgs <TState> e)
        {
            bool prevIsActive = Array.IndexOf(ActiveStates, e.PrevState) != -1;
            bool nextIsActive = Array.IndexOf(ActiveStates, e.NextState) != -1;

            if (SkipFirstFade)
            {
                SkipFirstFade = false;

                if (Inverse)
                {
                    TargetCanvas.alpha = (nextIsActive) ? 0.0f : 1.0f;
                    TargetCanvas.gameObject.SetActive(!nextIsActive);
                }
                else
                {
                    TargetCanvas.alpha = (nextIsActive) ? 1.0f : 0.0f;
                    TargetCanvas.gameObject.SetActive(nextIsActive);
                }
                return;
            }

            if (prevIsActive == nextIsActive)
            {
                return;
            }

            m_CurrentTransitionArgs = e;
            m_CurrentTransitionArgs.AddTransition(this);

            m_StartTime = Now;
            if (Inverse)
            {
                m_StartAlpha = (nextIsActive) ? 1.0f : 0.0f;
                m_EndAlpha   = (nextIsActive) ? 0.0f : 1.0f;
            }
            else
            {
                m_StartAlpha = (nextIsActive) ? 0.0f : 1.0f;
                m_EndAlpha   = (nextIsActive) ? 1.0f : 0.0f;
            }

            TargetCanvas.alpha = m_StartAlpha;

            TargetCanvas.gameObject.SetActive(true);
            enabled = true;
        }