protected void CreateLevel() { isPaused = false; soundPlayer.StopAllSounds(); levelCompleteScreen.Reset(); MediaPlayer.Volume = gameOptions.MusicVolumeAtPlay; level = new Level(game, particleLibrary, ref soundPlayer, scene, playerOne, startPeeps, levelCount); level.LoadContent(game.Content); levelCount++; }
public void Update(GameTime gameTime, InputState input, PlayerIndex[] controllingPlayer, ref ApplicationState appState, ref Player playerOne) { scene.Camera.Move(input, controllingPlayer); skybox.Update(gameTime); map.Update(gameTime); playerOne.Move(input, controllingPlayer); playerOne.Update(gameTime); playerCollisionCheck = map.CheckBuildingCollision(playerOne); //has player hit the building, if so they deaded if (playerCollisionCheck == CollisionType.Building) { playerOne.Die(); soundPlayer.StopAllSounds(); soundPlayer.PlaySound("Explosion"); } //has player landed too hard, if so they deaded, if there is a peep they deaded too if (playerCollisionCheck == CollisionType.Roof && playerOne.SafeDescent() == false) { if (map.CheckPeepCollision(playerOne)) { peepsLeft--; } playerOne.Die(); soundPlayer.StopAllSounds(); soundPlayer.PlaySound("Explosion"); } //has the player landed safely, if there is a peep he is abducted if (playerCollisionCheck == CollisionType.Roof && playerOne.SafeDescent() == true) { if (map.CheckPeepCollision(playerOne)) { peepsLeft--; playerOne.Score += gameOptions.PeepValue; soundPlayer.PlaySound("Scream"); } if (map.CheckPowerupCollision(playerOne)) { playerOne.Fuel += gameOptions.PowerupFuel; soundPlayer.PlaySound("Reward"); } } if (playerOne.Lives <= 0) { soundPlayer.StopAllSounds(); appState = ApplicationState.GameOver; } if (peepsLeft <= 0 && playerOne.Lives > 0) { soundPlayer.StopAllSounds(); soundPlayer.PlaySound("ScoreUp"); appState = ApplicationState.LevelComplete; } gameHud.Update(gameTime, playerOne.Lives, playerOne.Score, playerOne.Fuel, peepsLeft); if (Keyboard.GetState().IsKeyDown(Keys.P)) { Console.WriteLine(scene.Camera.Position + " - " + scene.Camera.View + "." + " - " + playerOne.Position); } }