1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #region File Description
- //-----------------------------------------------------------------------------
- // MainMenuScreen.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 main menu screen is the first thing displayed when the game starts up.
- /// </summary>
- class MainMenuScreen : MenuScreen
- {
- #region Initialization
- /// <summary>
- /// Constructor fills in the menu contents.
- /// </summary>
- public MainMenuScreen()
- : base("Main Menu")
- {
- // Create our menu entries.
- MenuEntry playGameMenuEntry = new MenuEntry("Play Game");
- MenuEntry optionsMenuEntry = new MenuEntry("Options");
- MenuEntry exitMenuEntry = new MenuEntry("Exit");
- // Hook up menu event handlers.
- playGameMenuEntry.Selected += PlayGameMenuEntrySelected;
- optionsMenuEntry.Selected += OptionsMenuEntrySelected;
- exitMenuEntry.Selected += OnCancel;
- // Add entries to the menu.
- MenuEntries.Add(playGameMenuEntry);
- MenuEntries.Add(optionsMenuEntry);
- MenuEntries.Add(exitMenuEntry);
- }
- #endregion
- #region Handle Input
- /// <summary>
- /// Event handler for when the Play Game menu entry is selected.
- /// </summary>
- void PlayGameMenuEntrySelected(object sender, PlayerIndexEventArgs e)
- {
- LoadingScreen.Load(ScreenManager, true, e.PlayerIndex,
- new GameplayScreen());
- }
- /// <summary>
- /// Event handler for when the Options menu entry is selected.
- /// </summary>
- void OptionsMenuEntrySelected(object sender, PlayerIndexEventArgs e)
- {
- ScreenManager.AddScreen(new OptionsMenuScreen(), e.PlayerIndex);
- }
- /// <summary>
- /// When the user cancels the main menu, ask if they want to exit the sample.
- /// </summary>
- protected override void OnCancel(PlayerIndex playerIndex)
- {
- const string message = "Are you sure you want to exit this sample?";
- MessageBoxScreen confirmExitMessageBox = new MessageBoxScreen(message);
- confirmExitMessageBox.Accepted += ConfirmExitMessageBoxAccepted;
- ScreenManager.AddScreen(confirmExitMessageBox, playerIndex);
- }
- /// <summary>
- /// Event handler for when the user selects ok on the "are you sure
- /// you want to exit" message box.
- /// </summary>
- void ConfirmExitMessageBoxAccepted(object sender, PlayerIndexEventArgs e)
- {
- ScreenManager.Game.Exit();
- }
- #endregion
- }
- }
|