public Invaders() { m_Graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; InputManager inputManager = new InputManager(this); ScreensMananger screensManager = new ScreensMananger(this); MenuMananger menuManager = new MenuMananger(this); SoundManager soundManager = new SoundManager(this); CollisionsManager collisionsManager = new CollisionsManager(this); GameManager gameManager = new GameManager(this); MenuScreen menuScreen = new MenuScreen(this); GameOverScreen gameOverScreen; WelcomeScreen welcomeScreen; menuScreen.Graphics = m_Graphics; gameOverScreen = new GameOverScreen(this); welcomeScreen = new WelcomeScreen(this); gameOverScreen.MenuScreen = welcomeScreen.MenuScreen = menuScreen; screensManager.Push(gameOverScreen); screensManager.SetCurrentItem(welcomeScreen); }
public MenuScreen(Game i_Game) : base(i_Game) { List <object> volumeHops, offOnList; ScreenBackground background = new ScreenBackground(i_Game, Color.DarkCyan, @"GameAssets\BG_Space01_1024x768"); MenuMananger menuManager; Menu soundMenu, screenMenu; ActivatableMenuItem play, quit; ToggleMenuItem players; ToggleMenuItem backgroundMusicVolume, soundEffectsVolume, toggleSound; ToggleMenuItem mouseVisability, allowWindowResizing, fullScreenMode; m_SoundManager = this.Game.Services.GetService(typeof(ISoundManager)) as ISoundManager; volumeHops = new List <object> { 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0 }; offOnList = new List <object> { "Off", "On" }; m_GameManager = i_Game.Services.GetService(typeof(IGameManager)) as IGameManager; menuManager = new MenuMananger(i_Game); m_MainMenu = new Menu(i_Game, "Main Menu"); soundMenu = new Menu(i_Game, "Sound Options"); backgroundMusicVolume = new ToggleMenuItem(i_Game, "Background Music Volume", volumeHops); soundEffectsVolume = new ToggleMenuItem(i_Game, "Sound Effects Volume", volumeHops); toggleSound = new ToggleMenuItem(i_Game, "Toggle Sound", new List <object> { "On", "Off" }); screenMenu = new Menu(i_Game, "Screen Options"); mouseVisability = new ToggleMenuItem(i_Game, "Mouse Visability", new List <object> { "Invisible", "Visible" }); allowWindowResizing = new ToggleMenuItem(i_Game, "Allow Window Resizing", offOnList); fullScreenMode = new ToggleMenuItem(i_Game, "Full Screen Mode", offOnList); players = new ToggleMenuItem(i_Game, "Players", new List <object> { "One", "Two" }); play = new ActivatableMenuItem(i_Game, "Play"); quit = new ActivatableMenuItem(i_Game, "Quit"); m_MainMenu.MenuManager = menuManager; soundMenu.AddItem(backgroundMusicVolume); soundMenu.AddItem(soundEffectsVolume); soundMenu.AddItem(toggleSound); screenMenu.AddItem(mouseVisability); screenMenu.AddItem(allowWindowResizing); screenMenu.AddItem(fullScreenMode); m_MainMenu.AddItem(soundMenu); m_MainMenu.AddItem(screenMenu); m_MainMenu.AddItem(players); m_MainMenu.AddItem(play); m_MainMenu.AddItem(quit); backgroundMusicVolume.ItemChosen += backgroundMusicVolumeToggleItem_ItemChosen; soundEffectsVolume.ItemChosen += soundEffectsVolumeToggleItem_ItemChosen; toggleSound.ItemChosen += toggleSoundToggleItem_ItemChosen; mouseVisability.ItemChosen += mouseVisabilityToggleItem_ItemChosen; allowWindowResizing.ItemChosen += allowWindowResizingToggleItem_ItemChosen; fullScreenMode.ItemChosen += fullScreenModeToggleItem_ItemChosen; players.ItemChosen += playersToggleItem_ItemChosen; play.ItemChosen += playItem_ItemChosen; quit.ItemChosen += quitItem_ItemChosen; menuManager.SetCurrentItem(m_MainMenu); this.Add(background); this.Add(menuManager); }