示例#1
0
        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;
                }
            }
        }
示例#2
0
        protected override void OnClosing(CancelEventArgs e)
        {
            ShaderManager.cleanUp();
            TextureManager.cleanUp();

            GraphicsManager.cleanUp();

            openGuiScreen(new GuiScreen());

            WorldLoader.saveWorld(world);
            SettingsManager.save();
        }