protected virtual IEnumerator SwapScenes(SceneManagerController sceneManager, SceneModel current, SceneModel desired) { yield return(SceneManager.LoadSceneAsync(desired.SceneName, LoadSceneMode.Single)); OnTransitionCompleted.SafeInvoke( new SceneTransitionEventArgs(sceneManager, current, desired)); swapperCoroutine = null; }
protected virtual IEnumerator SwapScenes(SceneManagerController sceneManager, SceneModel current, SceneModel desired) { float progressModifier = current == null ? 1f : 0.5f; yield return(LoadAdditiveSceneAsync(desired, progressModifier)); if (current != null) { yield return(UnloadSceneAsync(current, 2f)); } OnTransitionCompleted.SafeInvoke( new SceneTransitionEventArgs(sceneManager, current, desired)); swapperCoroutine = null; }