public override int HandleSelection(int currentMenu, int selectedIndex, EventOperator handler) { switch (selectedIndex) { case 0: handler.NewGameState = EventOperator.UPGRADE_STATE; handler.ResetGame(true); break; case 1: handler.NewGameState = EventOperator.MENU_STATE; handler.ResetGame(false); break; } return(-1); }
public override int HandleSelection(int currentMenu, int selectedIndex, EventOperator handler) { switch (selectedIndex) { case 0: GameMode.StartingLevel = 0; pressedIndex = selectedIndex; break; case 1: if (!isLocked[selectedIndex]) { GameMode.StartingLevel = 10; pressedIndex = selectedIndex; } break; case 2: if (!isLocked[selectedIndex]) { GameMode.StartingLevel = 20; pressedIndex = selectedIndex; } break; case 3: if (!isLocked[selectedIndex]) { GameMode.StartingLevel = 30; pressedIndex = selectedIndex; } break; case 4: if (!isLocked[selectedIndex]) { GameMode.StartingLevel = 40; pressedIndex = selectedIndex; } break; case 5: if (!isLocked[selectedIndex]) { GameMode.StartingLevel = 50; pressedIndex = selectedIndex; } break; case 6: handler.NewGameState = EventOperator.UPGRADE_STATE; handler.ResetGame(true); break; } return(-1); }
internal void Draw(SpriteBatch spriteBatch, GameTime gameTime) { switch (op.NewGameState) { case EventOperator.MENU_STATE: #region SplashScreen if (op.GameState == EventOperator.SPLASH_SCREEN_STATE) { if (InputHandler.isJustPressed(MouseButton.LEFT)) { eventTimer.Finish(); } else { int alphaChannel = (int)(455 * (SPLASHTIME - eventTimer.currentTime) / SPLASHTIME) - 100; logo.MColor = new Color(255, 255, 255, alphaChannel); logo.Draw(spriteBatch, gameTime); } } #endregion #region GiveUp else { op.ResetGame(false); game.UpdateGame(gameTime, false); game.DrawGame(spriteBatch, gameTime, false); string s = "Mediocre!"; //! spriteBatch.DrawOutlinedString(3, new Color(32, 32, 32), font, s, DrawHelper.CenteredWordPosition(s, font), Color.Gold); } #endregion break; case EventOperator.GAME_STATE: #region CountDown game.DrawGame(spriteBatch, gameTime, false); DrawCountDown(spriteBatch, gameTime); #endregion break; case EventOperator.GAME_OVER_STATE: #region GameOver Animation if (eventTimer.currentTime > STATSTIME) { game.UpdateGame(gameTime, false); game.DrawGame(spriteBatch, gameTime, false); Vector2 shitvect = new Vector2(WindowSize.Width / 2 - font.MeasureString("GAME OVER").X / 2, WindowSize.Height / 2 - font.MeasureString("GAME OVER").Y / 2); //previously bigFont in Game1 spriteBatch.DrawOutlinedString(3, new Color(32, 32, 32), font, "GAME OVER", shitvect, Color.OrangeRed); } #endregion #region DrawStats else { SoundHandler.PlaySong((int)IDs.GAMEOVER); DrawStats(spriteBatch, gameTime); if (InputHandler.isJustPressed(MouseButton.LEFT)) { eventTimer = new Timer(0); } } #endregion break; case EventOperator.CUT_SCENE_STATE: #region Cutscenes switch (op.CutSceneType) { case 1: BossFinishedScene(spriteBatch, gameTime); break; case 2: BossAppearanceScene(spriteBatch, gameTime); break; } #endregion break; } }