/// <summary> /// Constructor. /// </summary> public NextLevelScreen(GameData.LevelData levelData ) : base("Next Level") { this.levelData = levelData; // Create our menu entries. levelNumEntry = new MenuEntry("Level "+(levelData.currentlevelNum+1)+":"); currentLevelEntry = new MenuEntry("\""+GameConstants.LEVELNAMES[levelData.currentlevelNum]+"\""); //timeCompleteEntry = new MenuEntry(time); blankEntry = new MenuEntry ( "" ); nextLevelEntry = new MenuEntry ( "Start" ); scoreScreenEntry = new MenuEntry ( "Score Screen" ); mainMenuEntry = new MenuEntry ( "Main Menu" ); // Hook up menu event handlers. mainMenuEntry.Selected += mainMenuEntrySelected; scoreScreenEntry.Selected += scoreScreenEntrySelected; nextLevelEntry.Selected += nextLevelEntrySelected; // Add entries to the menu. MenuEntries.Add ( levelNumEntry ); MenuEntries.Add(currentLevelEntry); MenuEntries.Add ( blankEntry ); MenuEntries.Add ( blankEntry ); // check to see if there are still levels left before adding nextLevelEntry if (levelData.currentlevelNum < GameConstants.LEVELS) { MenuEntries.Add(nextLevelEntry); } // load credits else if (levelData.currentlevelNum == GameConstants.LEVELS) { // load game complete screen with credits if all levels are finished //LoadingScreen.Load(ScreenManager, true, e.PlayerIndex, // new GameCompleteScreen()); } MenuEntries.Add ( scoreScreenEntry ); MenuEntries.Add(mainMenuEntry); //Select the first selectable entry while (menuEntries[selectedEntry].HasNoHandle) { selectedEntry++; } }
/// <summary> /// Constructor. /// </summary> public GameOverScreen(GameData.LevelData levelData ) : base("Game Over") { // Create our menu entries. retryLevelEntry = new MenuEntry("Retry Level"); mainMenuEntry = new MenuEntry("Main Menu"); // Hook up menu event handlers. mainMenuEntry.Selected += mainMenuEntrySelected; retryLevelEntry.Selected += retryLevelEntrySelected; // Add entries to the menu. MenuEntries.Add(retryLevelEntry); MenuEntries.Add(mainMenuEntry); this.levelData = levelData; }
/// <summary> /// Constructor. Initialize game data here /// </summary> public GameplayScreen(int levelNum) { this.levelNum = levelNum; // Sets level data to level and sets level par time from file. levelData = new GameData.LevelData(levelNum, TimeSpan.Zero); // transition time used for screen transitions TransitionOnTime = TimeSpan.FromSeconds(1); TransitionOffTime = TimeSpan.FromSeconds(0.5); pauseAction = new InputAction( new Buttons[] { Buttons.Start, Buttons.Back }, new Keys[] { Keys.Escape }, true); // initialize rendercontext and camera _renderContext = new RenderContext(); _camera = new BaseCamera(); _camera.Translate(new Vector3(0, 0, 10)); _renderContext.Camera = _camera; // initialize models,textures,sounds _models = new Dictionary<string, Model>(); _textures = new Dictionary<string, Texture2D>(); _sounds = new Dictionary<string, SoundEffect>(); random = new Random(); //init fps counter fpsCount = new FPSCounter(_renderContext); healthGearAnglesList = new List<float>(); messageActive = false; }
/// <summary> /// Constructor. /// </summary> public LevelCompleteScreen(GameData.LevelData levelData ) : base("Level Complete") { this.levelData = levelData; gameData = new GameData(); if (gameData.saveGameData.levelCompleted < levelData.currentlevelNum) gameData.saveGameData.levelCompleted = levelData.currentlevelNum; gameData.saveGameData.levelData[levelData.currentlevelNum-1].time = levelData.time.ToString(); int levelScore = 0; levelScore += (int)GameConstants.SCORE.levelComplete; // add score for completing level // Score for health if(levelData.remainingHealth == GameConstants.HEALTH) { levelScore += (int)GameConstants.SCORE.fullHealth; } if (levelData.remainingHealth == GameConstants.HEALTH-1) { levelScore += (int)GameConstants.SCORE.medHealth; } if (levelData.remainingHealth == GameConstants.HEALTH-2) { levelScore += (int)GameConstants.SCORE.lowHealth; } //if(new TimeSpan( levelData.time < levelData.levelParTime) //{ // score += GameConstants.SCORE.parTimeComplete; //} gameData.saveGameData.score += levelScore; if(gameData.saveGameData.levelData[levelData.currentlevelNum - 1].levelHighScore < levelScore) gameData.saveGameData.levelData[levelData.currentlevelNum - 1].levelHighScore = levelScore; gameData.GetContainer(); gameData.Save(); // Create our menu entries. string time = string.Format("Time Completed: {0}", levelData.time); time = time.Remove(time.Length - 8); currentLevelEntry = new MenuEntry("\""+GameConstants.LEVELNAMES[levelData.currentlevelNum-1]+"\""); //timeCompleteEntry = new MenuEntry(time); remaingingHealthEntry = new MenuEntry("Remaining Health: " + levelData.remainingHealth.ToString()); levelScoreEntry = new MenuEntry("Level Score: " + levelScore); highScoreEntry = new MenuEntry("Game Score: " + gameData.saveGameData.score.ToString()); blankEntry = new MenuEntry ( "" ); continueEntry = new MenuEntry("Continue"); mainMenuEntry = new MenuEntry ( "Back to Main Menu" ); // Hook up menu event handlers. mainMenuEntry.Selected += mainMenuEntrySelected; continueEntry.Selected += continueEntrySelected; // Add entries to the menu. MenuEntries.Add(currentLevelEntry); //MenuEntries.Add(timeCompleteEntry); MenuEntries.Add(remaingingHealthEntry); MenuEntries.Add(levelScoreEntry); MenuEntries.Add ( highScoreEntry ); MenuEntries.Add ( blankEntry ); // check to see if there are still levels left before adding nextLevelEntry if (levelData.currentlevelNum < GameConstants.LEVELS) { MenuEntries.Add(continueEntry); } // load credits else if (levelData.currentlevelNum == GameConstants.LEVELS) { // load game complete screen with credits if all levels are finished //LoadingScreen.Load(ScreenManager, true, e.PlayerIndex, // new GameCompleteScreen()); } MenuEntries.Add(mainMenuEntry); //Select the first selectable entry while (menuEntries[selectedEntry].HasNoHandle) { selectedEntry++; } }