public void RequestSceneChange(SceneType SceneType, TransitionEffectType TransitionEffectType, object NextSceneParameter = null, float transitionWaitTime = 0f) { if (IsChangingScene) { return; } IsChangingScene = true; elapsedTime = 0; this.transitionWaitTime = transitionWaitTime; #if DEBUG DebugHandler.Instance.Clear(); #endif sceneTransitionThread = PrepareSceneChangeThread(SceneType, NextSceneParameter); sceneTransitionThread.Name = $"{SceneType} transition thread"; TransitionEffect = BuildTransition(TransitionEffectType, sceneTransitionThread.Start); if (TransitionEffectType == TransitionEffectType.None) { while (sceneTransitionThread.IsAlive) { ; } } }
public void RequestSceneChange(SceneType SceneType, TransitionEffectType TransitionEffectType, Action Action) { if (IsChangingScene) { return; } IsChangingScene = true; //sceneHasChangedDraw = SceneHasChanged = false; TransitionEffect = BuildTransition(TransitionEffectType, Action); }