protected override void OnKeyDown(KeyboardKeyEventArgs e) { var state = Keyboard.GetState(); if (state.IsKeyDown(Key.Escape)) { if (guiScreen is GuiScreenMainMenu) { return; } if (guiScreen != null) { closeGuiScreen(); } else { openGuiScreen(new GuiScreenIngameMenu()); ThreadPool.RunTask(false, () => { WorldLoader.saveWorld(world); }); } } if (guiScreen == null) { for (int i = 0; i < 9; i++) { if (state.IsKeyDown(Key.Number1 + i)) { player?.setSelectedSlot(i); break; } } } if (state.IsKeyDown(Key.LAlt | Key.F4)) { Exit(); } if (e.Key == Key.F11) { if (WindowState != WindowState.Fullscreen) { lastWindowState = WindowState; WindowState = WindowState.Fullscreen; } else { WindowState = lastWindowState; } } }
protected override void OnClosing(CancelEventArgs e) { ShaderManager.cleanUp(); TextureManager.cleanUp(); GraphicsManager.cleanUp(); openGuiScreen(new GuiScreen()); WorldLoader.saveWorld(world); SettingsManager.save(); }