Esempio n. 1
0
    private IEnumerator TransitionToCoroutine(Level level, Action beforeTransitionIn, Action onComplete)
    {
        _transitionController.FadeTo(Color.black, fadeTime);
        yield return(new WaitForSeconds(fadeTime));

        _levelController.UnloadAll();
        _levelController.LoadLevel(level);
        yield return(new WaitUntil(() => SceneManager.GetActiveScene().name == level.sceneName));

        beforeTransitionIn?.Invoke();

        _transitionController.FadeFrom(Color.black, fadeTime);
        yield return(new WaitForSeconds(fadeTime));

        onComplete?.Invoke();
    }