80 lines
2.5 KiB
C#
80 lines
2.5 KiB
C#
|
#region File Description
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// PauseMenuScreen.cs
|
||
|
//
|
||
|
// Microsoft XNA Community Game Platform
|
||
|
// Copyright (C) Microsoft Corporation. All rights reserved.
|
||
|
//-----------------------------------------------------------------------------
|
||
|
#endregion
|
||
|
|
||
|
#region Using Statements
|
||
|
using Microsoft.Xna.Framework;
|
||
|
#endregion
|
||
|
|
||
|
namespace GameStateManagement
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// The pause menu comes up over the top of the game,
|
||
|
/// giving the player options to resume or quit.
|
||
|
/// </summary>
|
||
|
class PauseMenuScreen : MenuScreen
|
||
|
{
|
||
|
#region Initialization
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// Constructor.
|
||
|
/// </summary>
|
||
|
public PauseMenuScreen()
|
||
|
: base("Paused")
|
||
|
{
|
||
|
// Create our menu entries.
|
||
|
MenuEntry resumeGameMenuEntry = new MenuEntry("Resume Game");
|
||
|
MenuEntry quitGameMenuEntry = new MenuEntry("Quit Game");
|
||
|
|
||
|
// Hook up menu event handlers.
|
||
|
resumeGameMenuEntry.Selected += OnCancel;
|
||
|
quitGameMenuEntry.Selected += QuitGameMenuEntrySelected;
|
||
|
|
||
|
// Add entries to the menu.
|
||
|
MenuEntries.Add(resumeGameMenuEntry);
|
||
|
MenuEntries.Add(quitGameMenuEntry);
|
||
|
}
|
||
|
|
||
|
|
||
|
#endregion
|
||
|
|
||
|
#region Handle Input
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// Event handler for when the Quit Game menu entry is selected.
|
||
|
/// </summary>
|
||
|
void QuitGameMenuEntrySelected(object sender, PlayerIndexEventArgs e)
|
||
|
{
|
||
|
const string message = "Are you sure you want to quit this game?";
|
||
|
|
||
|
MessageBoxScreen confirmQuitMessageBox = new MessageBoxScreen(message);
|
||
|
|
||
|
confirmQuitMessageBox.Accepted += ConfirmQuitMessageBoxAccepted;
|
||
|
|
||
|
ScreenManager.AddScreen(confirmQuitMessageBox, ControllingPlayer);
|
||
|
}
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// Event handler for when the user selects ok on the "are you sure
|
||
|
/// you want to quit" message box. This uses the loading screen to
|
||
|
/// transition from the game back to the main menu screen.
|
||
|
/// </summary>
|
||
|
void ConfirmQuitMessageBoxAccepted(object sender, PlayerIndexEventArgs e)
|
||
|
{
|
||
|
LoadingScreen.Load(ScreenManager, false, null, new BackgroundScreen(),
|
||
|
new MainMenuScreen());
|
||
|
}
|
||
|
|
||
|
|
||
|
#endregion
|
||
|
}
|
||
|
}
|