Ejemplo n.º 1
0
        private void HandleGameMenu()
        {
            for (AsciiKey press = Messager.GetNextKeyPress(); press.Key != Keys.None; press = Messager.GetNextKeyPress())
            {
                string readable = Readable(press);
                Log.Info($"At menu, pressed [{readable}]");

                // Quit
                if (press.Key == Keys.Q)
                {
                    if (ConfirmExit())
                    {
                        Game.Instance.Exit();
                    }
                }

                //0.0: Load saved game and resume play
                if (press.Key == Keys.L)
                {
                    GameMode.PopEngineMode();
                    MenuWindow.Hide();
                    LoadSavedGame();

                    // 1.+.SAVE: Hardcore/roguelike load game mode:
                    // delete save file

                    return;
                }

                if (GameInProgress)
                {
                    // Return to game
                    if (press.Key == Keys.R || press.Key == Keys.Escape)
                    {
                        GameMode.PopEngineMode();
                        MenuWindow.Hide();
                        return;
                    }

                    //0.0: Save current game
                    if (press.Key == Keys.S)
                    {
                        SaveTheGame();

                        // 1.+.SAVE: Hardcore/roguelike save game mode:
                        // GameInProgress = false;
                        // UnloadGane();
                        // redraw menu options
                    }
                }
                else
                {
                    // Begin new game
                    if (press.Key == Keys.B)
                    {
                        GameMode.PopEngineMode();
                        MenuWindow.Hide();
                        BeginNewGame();
                        return;
                    }

                    //0.0: Generate new seed, or enter new seed
                }
            }
        }