public override void PauseGame() { if (CheckLose()) { return; } base.PauseGame(); CursorEntity.CursorView = CursorType.Normal; List<Button> buttons = new List<Button>(); Color color = new Color(150, 255, 130); buttons.Add(new Button(color, "Continue Scanning", new ButtonPressed(ReturnToGame))); buttons.Add(new Button(color, "Return to Armory Console", new ButtonPressed(ReturnToArmoryConsole))); buttons.Add(new Button(color, "Return to Main Console", new ButtonPressed(ReturnToMainMenu))); pauseMenu = new TitleButtonAnnouncerEntity(new AnnouncerEnded(GoToNextWorld), color, "Pause Console", buttons); pauseMenu.EscapeHandler = ReturnToGame; PauseEntity = pauseMenu; }
private void NewGame() { if (!GlobalVariables.SaveExists()) { //Go to the story GoToDriveSelector(); } else { List<Button> buttons = new List<Button>(); Color color = new Color(255, 180, 180); buttons.Add(new Button(color, "Yes", new ButtonPressed(DeleteSaveAndStart))); buttons.Add(new Button(color, "No", null)); TitleButtonAnnouncerEntity pauseMenu = new TitleButtonAnnouncerEntity(new AnnouncerEnded(UnPauseGame), color, "Delete Scan History and Start New Scan?", buttons); pauseMenu.ChangePosition(140); pauseMenu.EscapeHandler = pauseMenu.FinishAnnouncer; PauseEntity = pauseMenu; base.PauseGame(); } }
public override void Update(GameTime gameTime) { base.Update(gameTime); GlobalVariables.CheckAchievements(); if (LevelAlarm != null) { LevelAlarm.SpeedFactor = OGE.PlayerSlowFactor; HUDEntity.SurvivalRemainingTime = (int)Math.Ceiling(LevelAlarm.CurrentSeconds); } else { HUDEntity.SurvivalRemainingTime = 0; } if (!levelEnded) { if (CheckLose()) { if (LevelAlarm != null) { LevelAlarm.Pause(); } levelEnded = true; CursorEntity.CursorView = CursorType.Normal; SoundManager.ChangeMusicVolume(SoundManager.MIN_VOLUME); List<Button> buttons = new List<Button>(); Color color = new Color(255, 180, 180); buttons.Add(new Button(color, "Retry Area", new ButtonPressed(RetryLevel))); if (!levelData.IsSelectedLevel()) { buttons.Add(new Button(color, "Return to Armory Console", new ButtonPressed(ReturnToUpgradeMenu))); } else { buttons.Add(new Button(color, "Return to Sector Console", new ButtonPressed(ReturnToLevelSelector))); } buttons.Add(new Button(color, "Return to Main Console", new ButtonPressed(ReturnToMainMenu))); TitleButtonAnnouncerEntity loseTitle = new TitleButtonAnnouncerEntity(new AnnouncerEnded(GoToNextWorld), color, failReason, buttons); AddOverLayer(loseTitle); } if (CheckWin()) { levelEnded = true; //Convert the files List<BaseEntity> files = GetCollisionEntitiesType(CollisionType.File); for (int i = 0; i < files.Count; i++) { if (files[i] is ExeFile) { if (!(files[i] as ExeFile).IsInfected) { (files[i] as ExeFile).AddScore(); GlobalVariables.Achievements[typeof(ExeFile)].CurrentNumber += 1; } (files[i] as ExeFile).LevelEnded(); } if (files[i] is ZipFile) { GlobalVariables.Achievements[typeof(ZipFile)].CurrentNumber += 1; } } TitleTimeAnnouncerEntity winTitle = new TitleTimeAnnouncerEntity(new AnnouncerEnded(GameWin), "Sector Secured"); winTitle.TintColor = new Color(150, 255, 130); AddOverLayer(winTitle); } if (TotalNumberOfZipFiles > 0) { List<BaseEntity> zipFiles = GetCollisionEntitiesType(CollisionType.File); List<Vector2> zipPositions = new List<Vector2>(); foreach (BaseFile zipFile in zipFiles) { if (zipFile is ZipFile) { zipPositions.Add(zipFile.Position); } } HUDEntity.FileArrowEntity.UpdatePosition(zipPositions); } if (Input.CheckKeyboardButton(Keys.Escape) == GameButtonState.Pressed && !pauseGame) { PauseGame(); } if (Input.CheckKeyboardButton(Keys.F1) == GameButtonState.Pressed) { if (tutorialEntity == null) { tutorialEntity = new TutorialEntity(new Color(150, 255, 130), RemoveTutorial); AddEntity(tutorialEntity); } else { tutorialEntity.FinishTutorial(); } } if (Input.CheckLeftMouseButton() == GameButtonState.Up && Input.CheckRightMouseButton() == GameButtonState.Up) { if (CursorEntity.IsShooting) { CursorEntity.IsShooting = false; } } } }
private void ExitGame() { List<Button> buttons = new List<Button>(); Color color = new Color(255, 180, 180); buttons.Add(new Button(color, "Yes", new ButtonPressed(TerminateApplication))); buttons.Add(new Button(color, "No", null)); TitleButtonAnnouncerEntity pauseMenu = new TitleButtonAnnouncerEntity(new AnnouncerEnded(UnPauseGame), color, "Stop Scanning?", buttons); pauseMenu.ChangePosition(140); pauseMenu.EscapeHandler = pauseMenu.FinishAnnouncer; PauseEntity = pauseMenu; base.PauseGame(); }