Пример #1
0
        public override void Update(GameTime i_GameTime)
        {
            if (WasPlaySelected)
            {
                WasPlaySelected = false;
                ExitScreen();
            }

            if (InputManager != null)
            {
                if (InputManager.KeyboardState.IsKeyDown(Keys.Enter))
                {
                    ExitScreen();
                }

                if (InputManager.KeyboardState.IsKeyDown(Keys.Escape))
                {
                    Game.Exit();
                }

                InputManager inputManager = InputManager as InputManager;
                if (inputManager != null)
                {
                    if (InputManager.KeyboardState.IsKeyDown(Keys.M))
                    {
                        inputManager.Update(i_GameTime);
                        ScreensManager.SetCurrentScreen(new MainMenuScreen(Game));
                    }
                }

                base.Update(i_GameTime);
            }
        }
Пример #2
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            if (InputManager.KeyPressed(Keys.Escape))
            {
                this.Game.Exit();
            }
            if (InputManager.KeyPressed(Keys.Home))
            {
                ExitScreen();
                ScreensManager.SetCurrentScreen(new DummyGameScreen(Game));;
                ScreensManager.SetCurrentScreen(new PlayScreen(Game, 1));;
                ScreensManager.SetCurrentScreen(new LevelTransitionScreen(Game, 1));
                //r_Game.Components.Remove(this);
                //(r_Game as GameWithScreens).setScreenStackOnGameOver((r_Game as GameWithScreens).ScreensManager);
            }
            if (InputManager.KeyPressed(Keys.M))
            {
                ExitScreen();
                ScreensManager.SetCurrentScreen(new MainMenu(r_Game as GameWithScreens));

                //r_Game.Components.Remove(this);
                //(r_Game as GameWithScreens).setMainMenuStackOnGameOver((r_Game as GameWithScreens).ScreensManager);
            }
        }
Пример #3
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            if (InputManager.KeyPressed(Keys.Enter))
            {
                ExitScreen();
            }

            if (InputManager.KeyPressed(Keys.M))
            {
                MainMenu mainMenu = new MainMenu(Game, m_TransitionionScreen, m_GameScreen);
                ScreensManager.SetCurrentScreen(mainMenu);
            }

            if (InputManager.KeyPressed(Keys.Escape))
            {
                this.Game.Exit();
            }

            if (this.TransitionPosition != 1 && this.TransitionPosition != 0)
            {
                m_Background.Alpha     = this.TransitionPosition;
                m_WelcomeMessage.Alpha = this.TransitionPosition;
            }
        }
Пример #4
0
 public void GameWon()
 {
     this.State = eScreenState.Inactive;
     m_GameWonSound.Play();
     m_Level++;
     resetSpritesAndManagers();
     ScreensManager.SetCurrentScreen(new LevelTransitionScreeen(this.Game, m_Level));
 }
Пример #5
0
        private void onGameOver(object sender, EventArgs e)
        {
            string scoreText = sender as string;

            ScreensManager.SetCurrentScreen(new GameOverScreen(m_Game, scoreText));
            Dispose();
            ScreensManager.Remove(this);
        }
Пример #6
0
        private void onLevelWon(object sender, EventArgs e)
        {
            LevelTransitionScreen levelTransScreen = new LevelTransitionScreen(m_Game);

            ScreensManager.SetCurrentScreen(levelTransScreen);
            Dispose();
            ScreensManager.Remove(this);
        }
Пример #7
0
 private void onLevelCompleted()
 {
     m_LevelCompletedSoundEffect.Play();
     ExitScreen();
     m_GameSettings.GoToNextLevel();
     ScreensManager.SetCurrentScreen(new PlayScreen(Game, m_GameState));
     ScreensManager.SetCurrentScreen(new LevelTransitionScreen(Game, m_GameSettings.CurrentLevel));
 }
Пример #8
0
 public override void Update(GameTime i_GameTime)
 {
     base.Update(i_GameTime);
     if (InputManager.KeyPressed(Keys.R))
     {
         m_PreviousScreen.Enabled = true;
         ScreensManager.SetCurrentScreen(m_PreviousScreen);
     }
 }
Пример #9
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            if (InputManager.KeyPressed(k_PauseScreenKey))
            {
                ScreensManager.SetCurrentScreen(m_PauseScreen);
            }
        }
Пример #10
0
 private void checkIfLevelEnded()
 {
     if (m_GameManager.LevelEnded())
     {
         killAll();
         m_GameManager.Level++;
         ScreensManager.SetCurrentScreen(new TransitionScreen(Game, m_GameManager.Level));
     }
 }
Пример #11
0
 public void ShowEndOfGameMessage(string i_GameOverMessage)
 {
     m_GameOverScreen.Message      = i_GameOverMessage;
     m_GameOverScreen.Player1Score =
         string.Format("Player 1 score is: {0}", m_Players[0].Score);
     m_GameOverScreen.Player2Score =
         string.Format("Player 2 score is: {0}", m_Players[1].Score);
     ScreensManager.SetCurrentScreen(m_GameOverScreen);
 }
 private void ShowIntroAndStartLevel()
 {
     ScreensManager.SetCurrentScreen(new IntroToLevelScreen(Game as GameStructure)
     {
         HeadLine = string.Format("Level {0}", m_CurrentLevel), CountDown = 3
     });
     m_IsGameStarted = true;
     m_BackGroundMusic.Play();
 }
Пример #13
0
        public override void Update(GameTime i_GameTime)
        {
            base.Update(i_GameTime);

            if (InputManager.KeyPressed(Keys.P))
            {
                this.Enabled = false;
                ScreensManager.SetCurrentScreen(new PauseScreen(this.Game));
            }
        }
Пример #14
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            if (InputManager.KeyPressed(Keys.P) || GamePad.GetState(PlayerIndex.One).Buttons.Back ==
                ButtonState.Pressed)
            {
                ScreensManager.SetCurrentScreen(new PauseScreen(m_Game));
            }
        }
Пример #15
0
 public SpaceInvaders()
 {
     m_Graphics = new GraphicsDeviceManager(this);
     m_Graphics.PreferredBackBufferWidth = k_ScreenWidth;
     m_Graphics.PreferredBackBufferHeight = k_ScreenHeight;
     m_Graphics.ApplyChanges();
     Content.RootDirectory = "Content";
     IInputManager inputManager = new InputManager(this);
     m_ScreensManager = new ScreensManager(this);
     m_ScreensManager.SetCurrentScreen(new WelcomeScreen(this));
 }
Пример #16
0
 public override void Update(GameTime gameTime)
 {
     if (InputManager.KeyPressed(Keys.P))
     {
         ScreensManager.SetCurrentScreen(new PauseScreen(Game));
     }
     else
     {
         base.Update(gameTime);
     }
 }
Пример #17
0
        public SpaceInvaders()
        {
            m_Graphics = new GraphicsDeviceManager(this);
            m_Graphics.PreferredBackBufferWidth  = k_ScreenWidth;
            m_Graphics.PreferredBackBufferHeight = k_ScreenHeight;
            m_Graphics.ApplyChanges();
            Content.RootDirectory = "Content";
            IInputManager inputManager = new InputManager(this);

            m_ScreensManager = new ScreensManager(this);
            m_ScreensManager.SetCurrentScreen(new WelcomeScreen(this));
        }
Пример #18
0
        public override void Update(GameTime i_GameTime)
        {
            checkInputs();

            if (!m_TransitionScreenDisplayed)
            {
                ScreensManager.SetCurrentScreen(new LevelTransitionScreen(Game, r_GameManager.Level));
                m_TransitionScreenDisplayed = true;
            }

            base.Update(i_GameTime);
        }
Пример #19
0
        public SpaceInvadersGame()
        {
            Content.RootDirectory = "Content";
            LevelTransitionScreen levelTransitionScreen = new LevelTransitionScreen(this);
            PlayScreen            playScreen            = new PlayScreen(levelTransitionScreen, this);
            ScreensManager        screensManager        = new ScreensManager(this);

            screensManager.Push(new GameOverScreen(playScreen, this));
            screensManager.Push(playScreen);
            screensManager.Push(levelTransitionScreen);
            screensManager.SetCurrentScreen(new WelcomeScreen(this));
            this.IsMouseVisible = true;
        }
Пример #20
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            if (InputManager.KeyPressed(Keys.Up))
            {
                m_Items[m_ActiveItemIndex].IsActive = false;
                m_ActiveItemIndex--;
                if (m_ActiveItemIndex < 0)
                {
                    m_ActiveItemIndex = m_Items.Count - 1;
                }
                m_Items[m_ActiveItemIndex].IsActive = true;
                ActiveItemChanged();
            }
            else if (InputManager.KeyPressed(Keys.Down))
            {
                m_Items[m_ActiveItemIndex].IsActive = false;
                m_ActiveItemIndex++;
                if (m_ActiveItemIndex >= m_Items.Count)
                {
                    m_ActiveItemIndex = 0;
                }
                m_Items[m_ActiveItemIndex].IsActive = true;
                ActiveItemChanged();
            }

            if (InputManager.KeyPressed(Keys.Enter))
            {
                if (m_Items[m_ActiveItemIndex].ChoiseScreen != null)
                {
                    ExitScreen();
                    ScreensManager.SetCurrentScreen(m_Items[m_ActiveItemIndex].ChoiseScreen);
                }
                else if (m_Items[m_ActiveItemIndex] is FunctionMenuItem)
                {
                    (m_Items[m_ActiveItemIndex] as FunctionMenuItem).MyFunction.Invoke();
                }
            }

            if (InputManager.KeyPressed(Keys.PageDown))
            {
                m_Items[m_ActiveItemIndex].ValueDown();
            }
            else if (InputManager.KeyPressed(Keys.PageUp))
            {
                m_Items[m_ActiveItemIndex].ValueUp();
            }
        }
Пример #21
0
 private void checkInputs()
 {
     if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
     {
         Game.Exit();
     }
     else if (InputManager.KeyPressed(Keys.P))
     {
         ScreensManager.SetCurrentScreen(m_GamePauseScreen);
     }
     else if (InputManager.KeyPressed(Keys.M))
     {
         (Game.Services.GetService(typeof(ISoundManager)) as ISoundManager).ToggelMute();
     }
 }
Пример #22
0
        public void OnGameOver()
        {
            string massage = buildMessage();

            m_FirstGamingRound = true;
            if (!(Game as GameWithScreens).SinglePlayerGame)
            {
                this.r_SpaceShips.Remove(r_SpaceShips[0]);
            }
            r_Game.Components.Remove(this);
            Game.Components.Remove(this);
            ExitScreen();

            ScreensManager.SetCurrentScreen(new GameOverScreen(Game, massage));
        }
Пример #23
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            takeInput();

            if (m_LevelCleared)
            {
                m_GameState.LevelNumber++;
                ScreensManager.SetCurrentScreen(new LevelTransitionScreen(Game));
            }
            else if (m_GameOver)
            {
                this.ScreensManager.SetCurrentScreen(new GameOverScreen(Game));
            }
        }
        public override void Update(GameTime gameTime)
        {
            if (!m_IsGameStarted)
            {
                ShowIntroAndStartLevel();
            }
            else
            {
                base.Update(gameTime);

                if (InputManager.KeyPressed(Keys.P))
                {
                    ScreensManager.SetCurrentScreen(m_GamePauseScreen);
                }
            }
        }
Пример #25
0
 private void checkInput()
 {
     if (InputManager.KeyPressed(Keys.Home))
     {
         m_GameManager.ResetGameSettings();
         ScreensManager.SetCurrentScreen(new PlayScreen(Game));
     }
     else if (InputManager.KeyPressed(Keys.M))
     {
         m_GameManager.ResetGameSettings();
         ScreensManager.SetCurrentScreen(new MainMenuScreen(Game));
     }
     else if (InputManager.KeyPressed(Keys.Escape))
     {
         ExitScreen();
     }
 }
Пример #26
0
 public override void Update(GameTime gameTime)
 {
     base.Update(gameTime);
     if (InputManager.KeyPressed(Keys.Escape))
     {
         ScreensManager.Remove(this);
     }
     else if (InputManager.KeyPressed(Keys.Enter))
     {
         ScreensManager.SetCurrentScreen(new GamingScreen(this.Game));
         ScreensManager.SetCurrentScreen(new MoveStageScreen(this.Game, 1));
     }
     else if (InputManager.KeyPressed(Keys.F6))
     {
         ScreensManager.SetCurrentScreen(new MainMenuScreen(this.Game));
     }
 }
Пример #27
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);

            if (InputManager.KeyPressed(Keys.Escape))
            {
                Game.Exit();
            }
            else if (InputManager.KeyPressed(Keys.Enter))
            {
                ScreensManager.Push(new PlayScreen(Game));
                ScreensManager.SetCurrentScreen(new NextLevelScreen(Game, 0));
            }
            else if (InputManager.KeyPressed(Keys.T))
            {
                ScreensManager.SetCurrentScreen(new MainMenu(Game));
            }
        }
Пример #28
0
        public InvadersGame()
        {
            this.m_Graphics       = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
            IInputManager      inputManager      = new InputManager(this);
            IPlayersManager    livesManager      = new PlayersManager(this);
            ICollisionsManager collisionsManager = new CollisionsManager(this);
            IScreensManager    screensManager    = new ScreensManager(this);

            m_SoundManager = new LocalSoundManager(this);
            IGameSettingsManager IGameSettingsManager = new GameSettingsManager(this);

            screensManager.SetCurrentScreen(new WelcomeScreen(this));

            this.m_Graphics.IsFullScreen              = true;
            this.m_Graphics.PreferredBackBufferWidth  = 800;
            this.m_Graphics.PreferredBackBufferHeight = 480;
            this.m_Graphics.SupportedOrientations     = DisplayOrientation.LandscapeLeft;
        }
Пример #29
0
        private void updateUserChoise()
        {
            if (InputManager.KeyPressed(Keys.Enter))
            {
                switch (m_CurrentMenuItemIndex)
                {
                //Screen Settings
                case 0:
                    ScreensManager.SetCurrentScreen(new ScreenSettings(r_Game));
                    break;

                //User wants to toggle the number of players, but they have to use Page up/ down.
                case 1:
                    break;

                //Sound Settings screen.
                case 2:
                    ScreensManager.SetCurrentScreen(new SoundSettings(r_Game));
                    break;

                //Play Game
                case 3:
                    ExitScreen();
                    ScreensManager.SetCurrentScreen(new PlayScreen(Game, 1));;
                    ScreensManager.SetCurrentScreen(new LevelTransitionScreen(Game, 1));
                    break;

                //Quit Game (Exit)
                case 4:
                    Game.Exit();
                    break;
                }
            }

            if (InputManager.KeyPressed(Keys.PageUp) || InputManager.KeyPressed(Keys.PageUp))
            {
                if (m_CurrentMenuItemIndex == 1)
                {
                    toggleNumberOfPlayers();
                }
            }
        }
Пример #30
0
        public SpaceInvaders()
        {
            m_Graphics = new GraphicsDeviceManager(this);
            m_Graphics.PreferredBackBufferWidth  = GameSettings.sr_DefaultScreenWidth;
            m_Graphics.PreferredBackBufferHeight = GameSettings.sr_DefaultScreenHeight;
            Content.RootDirectory = "Content";
            m_ScreensMananger     = new ScreensManager(this);
            m_ScreensMananger.GraphicsDeviceManager = m_Graphics;
            m_ScreensMananger.Push(new GameOverScreen(this));
            m_ScreensMananger.Push(new PlayScreen(this));
            m_ScreensMananger.Push(new TransitionScreen(this, 1));
            m_ScreensMananger.SetCurrentScreen(new WelcomeScreen(this));
            InputManager      inputManager     = new InputManager(this);
            CollisionsManager collisionManager = new CollisionsManager(this);
            SoundManager      soundManager     = new SoundManager(this);

            soundManager.InitSoundEffects(GameSettings.s_SoundEffectsNames.Values.ToList(), GameSettings.s_BackgroundSoundName);
            soundManager.InitDefaultVolumes(GameSettings.sr_DefaultBGVolume, GameSettings.sr_DefaultSoundEffectVolume);
            IsMouseVisible = true;
        }
Пример #31
0
        public override void Update(GameTime gameTime)
        {
            if (InputManager.KeyPressed(Keys.Home))
            {
                m_GameScreen.Reset();
                ScreensManager.SetCurrentScreen(m_GameScreen);
                ScreensManager.SetCurrentScreen(m_TransitionionScreen);
            }

            if (InputManager.KeyPressed(Keys.M))
            {
                MainMenu mainMenu = new MainMenu(Game, m_TransitionionScreen, m_GameScreen);
                ScreensManager.SetCurrentScreen(mainMenu);
            }

            if (InputManager.KeyPressed(Keys.Escape))
            {
                this.Game.Exit();
            }
        }