public static void ExitToMainMenu(SysMenu menuToAdd) { if (FrameworkCore.worldMap != null) { FrameworkCore.worldMap = null; } FrameworkCore.level.ClearActionMusic(); foreach (PlayerCommander player in FrameworkCore.players) { player.ClearAll(); } //clear out some spaceships. for (int i = 0; i < FrameworkCore.level.Ships.Count; i++) { //check every other. if (i % 2 == 0) { continue; } //only check spaceships. if (!Helpers.IsSpaceship(FrameworkCore.level.Ships[i])) { continue; } if (FrameworkCore.level.Ships[i].IsDestroyed) { continue; } ((SpaceShip)FrameworkCore.level.Ships[i]).ForceKill(); } FrameworkCore.MainMenuManager.ClearAll(); FrameworkCore.sysMenuManager.ClearAll(); FrameworkCore.gameState = GameState.Logos; FrameworkCore.PlayCue(sounds.Music.raindrops01); FrameworkCore.MainMenuManager.AddMenu(new MainMenu()); Helpers.UpdateCameraProjections(1); if (menuToAdd == null) { return; } FrameworkCore.MainMenuManager.AddMenu(menuToAdd); }
public void UpdateTopControls(GameTime gameTime, InputManager input) { for (int x = 0; x < sysMenus.Count; x++) { SysMenu menu = sysMenus[x]; if (menu == sysMenus[sysMenus.Count - 1]) { //update the menu at the top of the stack. menu.Update(gameTime, input); } } }
public void CloseMenu(SysMenu menu) { sysMenus.Remove(menu); }
public void AddMenu(SysMenu menu) { sysMenus.Add(menu); menu.SetOwner(this); menu.Activate(); }