public void PlayEffect(TransitionEffect effect, float duration, TransitionEffectManager_Callback callback) { StartCoroutine(CallAfterTime(callback, duration)); switch (effect) { case TransitionEffect.BLACK_IN: BlackIn(duration); break; case TransitionEffect.BLACK_OUT: BlackOut(duration); break; default: currentTransitionDuration = duration; currentTransition = effect; transitionStartTime = Time.deltaTime; break; } }
public void LoadScene(int sceneBuildIndex, bool playBeforeTransition = false, bool playAfterTransition = false) { TransitionEffectManager_Callback loadSceneCall = delegate() { SceneManager.LoadScene(sceneBuildIndex); if (playAfterTransition) { transitionEffectManager.PlayOutEffect(delegate() { }); } }; if (playBeforeTransition) { transitionEffectManager.PlayInEffect(loadSceneCall); } else { loadSceneCall(); } }
public void PlayOutEffect(TransitionEffectManager_Callback callback) { PlayEffect(outEffect, outTransitionDuration, callback); }
public void PlayInEffect(TransitionEffectManager_Callback callback) { PlayEffect(inEffect, inTransitionDuration, callback); }
IEnumerator CallAfterTime(TransitionEffectManager_Callback callback, float time) { yield return(new WaitForSeconds(time)); callback(); }