/// <summary> /// Releases the contents of the options menu /// </summary> private void DisposeOptions() { isOptionsDisplayed = false; hasFocus = true; optionsMenu.Dispose(); optionsMenu = null; }
/// <summary> /// Updates the state of the menu /// </summary> /// <param name="gameTime">The gametime to use</param> public override void Update(GameTime gameTime) { if (isOptionsDisplayed) { if (optionsMenu.HasFocus) optionsMenu.Update(gameTime); else { isOptionsDisplayed = false; hasFocus = true; optionsMenu.Dispose(); optionsMenu = null; } } if (isCreditsDisplayed) { if (credits.HasFocus) credits.Update(gameTime); else { isCreditsDisplayed = false; hasFocus = true; credits.Dispose(); credits = null; StaticBGM.SwitchMusic("Menu"); selectedNode = StartButton; StartButton.IsSelected = true; CreditsButton.IsSelected = false; } } base.Update(gameTime); }
/// <summary> /// Determines the action to be taken when a menu option is selected /// </summary> /// <param name="button">The button that was selected</param> protected override void Select(MenuNode button) { if (button == ResumeButton) { isPaused = false; } else if (button == LoadButton) callback(MenuCallbacks.LoadGame); else if (button == QuitButton) callback(MenuCallbacks.Quit); else if (button == OptionsButton) { optionsMenu = new OptionsMenu(gameSettings); isOptionsDisplayed = true; hasFocus = false; } }
/// <summary> /// Determines the action to be taken when a menu option is selected /// </summary> /// <param name="button">The button that was selected</param> protected override void Select(MenuNode button) { if (button == StartButton) callback(MenuCallbacks.NewGame); else if (button == LoadButton) callback(MenuCallbacks.LoadGame); else if (button == QuitButton) callback(MenuCallbacks.Quit); else if (button == OptionsButton) { optionsMenu = new OptionsMenu(gameSettings); isOptionsDisplayed = true; hasFocus = false; } else if (button == CreditsButton) { credits = new Credits(); isCreditsDisplayed = true; hasFocus = false; StaticBGM.SwitchMusic("Credits"); } }