private IEnumerator HandleLoadingScreen(LoadingScreenProgressToken token) { MusicManager.Instance.LoadingScreenTransitionEffect(transitionInDuration, true); float timer = 0f; while (timer < transitionInDuration) { SetOpacities(timer / transitionInDuration); timer += Time.unscaledDeltaTime; yield return(null); } SetOpacities(1f); yield return(new WaitForSecondsRealtime(transitionMainDuration * .5f)); token.ScreenFullyShown = true; yield return(new WaitForSecondsRealtime(transitionMainDuration * .5f)); token.TransitionComplete = true; MusicManager.Instance.LoadingScreenTransitionEffect(transitionOutDuration, false); timer = 0f; while (timer < transitionOutDuration) { SetOpacities(1f - timer / transitionInDuration); timer += Time.unscaledDeltaTime; yield return(null); } SetOpacities(0f); token.LoadingScreenGone = true; }
public static void ShowLoadingScreen(LoadingScreenProgressToken token) { Instance.StartCoroutine(Instance.HandleLoadingScreen(token)); Instance.StartCoroutine(Instance.TextMover()); }