#region File Description //----------------------------------------------------------------------------- // pauseBackground.cs // // Microsoft XNA Community Game Platform // Copyright (C) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- #endregion #region Using Statements using System; using Microsoft.Xna.Framework; #endregion namespace HoneycombRush { class PauseScreen : MenuScreen { #region Initializations public PauseScreen() : base(string.Empty) { IsPopup = true; } /// /// Load screen resources /// public override void LoadContent() { AudioManager.PlaySound("menu"); MenuEntry returnGameMenuEntry = new MenuEntry("Resume"); returnGameMenuEntry.Scale = 0.7f; MenuEntry exitMenuEntry = new MenuEntry("Exit"); // Calculate menu positions - we do this here since we want the screen // manager to be available int quarterViewportWidth = ScreenManager.GraphicsDevice.Viewport.Width / 4; int menuEntryHeight = SafeArea.Bottom - ScreenManager.ButtonBackground.Height * 2; returnGameMenuEntry.Position = new Vector2(quarterViewportWidth - ScreenManager.ButtonBackground.Width / 2, menuEntryHeight); exitMenuEntry.Position = new Vector2(3 * quarterViewportWidth - ScreenManager.ButtonBackground.Width / 2, menuEntryHeight); // Hook up menu event handlers. returnGameMenuEntry.Selected += ReturnGameMenuEntrySelected; exitMenuEntry.Selected += OnCancel; //// Add entries to the menu. MenuEntries.Add(returnGameMenuEntry); MenuEntries.Add(exitMenuEntry); base.LoadContent(); } #endregion #region Update /// /// Respond to "Return" Item Selection /// /// /// void ReturnGameMenuEntrySelected(object sender, EventArgs e) { AudioManager.PauseResumeSounds(true); foreach (GameScreen screen in ScreenManager.GetScreens()) { if (!(screen is GameplayScreen)) { screen.ExitScreen(); } } } /// /// Respond to "Quit Game" Item Selection /// /// protected override void OnCancel(PlayerIndex playerIndex) { foreach (GameScreen screen in ScreenManager.GetScreens()) { screen.ExitScreen(); } ScreenManager.AddScreen(new BackgroundScreen("titleScreen"), null); ScreenManager.AddScreen(new MainMenuScreen(), null); } #endregion } }