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