IEnumerator TransitionRoutine() { yield return(_fader.FadeOutRoutine(_fadeOutTime)); _savingWrapper.Save(); yield return(SceneManager.LoadSceneAsync(_sceneToLoad)); Portal[] portals = FindObjectsOfType <Portal>(); foreach (Portal portal in portals) { if (portal == this) { continue; } if (portal.GetIdentifier() == _identifier) { _savingWrapper.Load(); HandlePlayer(portal); yield return(null); _savingWrapper.Save(); } } yield return(new WaitForSeconds(_fadeWaitTime)); yield return(_fader.FadeInRoutine(_fadeInTime)); Destroy(gameObject); }