public void Dispose() { game.Events.TextureChanged -= TextureChanged; SetNewScreen(null); statusScreen.Dispose(); if (activeScreen != null) { activeScreen.Dispose(); } game.Graphics.DeleteTexture(ref GuiTex); game.Graphics.DeleteTexture(ref GuiClassicTex); game.Graphics.DeleteTexture(ref IconsTex); Reset(game); }
public void Dispose() { game.Events.TextureChanged -= TextureChanged; SetNewScreen(null); fpsScreen.Dispose(); if (activeScreen != null) { activeScreen.Dispose(); } api.DeleteTexture(ref GuiTex); api.DeleteTexture(ref GuiClassicTex); api.DeleteTexture(ref IconsTex); for (int i = 0; i < overlays.Count; i++) { overlays[i].Dispose(); } }
public void SetNewScreen(Screen screen, bool disposeOld) { // don't switch to the new screen immediately if the user // is currently looking at a warning dialog. if (activeScreen is WarningScreen) { WarningScreen warning = (WarningScreen)activeScreen; if (warning.lastScreen != null) { warning.lastScreen.Dispose(); } warning.lastScreen = screen; if (warning.lastScreen != null) { screen.Init(); } return; } InputHandler.ScreenChanged(activeScreen, screen); if (activeScreen != null && disposeOld) { activeScreen.Dispose(); } if (screen == null) { hudScreen.GainFocus(); } else if (activeScreen == null) { hudScreen.LoseFocus(); } if (screen != null) { screen.Init(); } activeScreen = screen; }
public void SetNewScreen(Screen screen, bool disposeOld) { InputHandler.ScreenChanged(activeScreen, screen); if (activeScreen != null && disposeOld) { activeScreen.Dispose(); } if (screen == null) { hudScreen.GainFocus(); } else if (activeScreen == null) { hudScreen.LoseFocus(); } if (screen != null) { screen.Init(); } activeScreen = screen; }