Пример #1
0
        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);
        }
Пример #2
0
        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);
        }