public void LoadNewScreen(Screen screen, bool fade = true, bool loadContent = true) { ManagerInput.PauseInput(750); _tempScreenHolder = screen; _loadContent = loadContent; if (!fade) { AfterFadeOut(); _currentPhase = Phase.Running; return; } _currentPhase = Phase.FadeOut; _counter = 0; _alpha = 0; }
private void AfterFadeOut() { _lastScreen = _currentScreen; if (_lastScreen != null) _lastScreen.Uninitialize(); _currentScreen = _tempScreenHolder; if(_loadContent) _currentScreen.LoadContent(_content); _currentScreen.Initialize(); }