public Level(Game game, ParticleLibrary _particleEffects, ref SoundPlayer _soundPlayer, Scene _scene, Player _playerOne, int peeps, int _levelNumber) { levelNumber = _levelNumber; particleEffects = _particleEffects; peepsLeft = peeps; scene = _scene; scene.Camera.ResetCamera(); soundPlayer = _soundPlayer; map = new Map(game, new Vector3(8, 7, 4), scene.Light, peepsLeft); playerOne = _playerOne; playerOne.SetStartPosition(map.GetPlayerStartPosition()); playerOne.SetPlayArea(map.GetPlayArea()); playerOne.AttachParticleLibrary(particleEffects); playerOne.AttachSoundPlayer(ref _soundPlayer); playerOne.Reset(); playerCollisionCheck = CollisionType.None; skybox = new Base3DObject(game, "Models/skybox", scene.Light); gameHud = new Hud(game.Content, game.GraphicsDevice.Viewport.TitleSafeArea); }
public void Initialize(Game _game) { game = _game; scene = new Scene(game); pauseScreen = new PauseScreen(game.Content, "Screens/pause", "Fonts/OCR"); levelCompleteScreen = new LevelCompleteScreen(game.Content, "Screens/levelcomplete", "Fonts/OCR"); InitParticles(); startPeeps = gameOptions.StartPeeps; levelCount = 0; soundPlayer = new SoundPlayer(game.Content); soundPlayer.AddSound("Reward", "Audio\\Effects\\reward", false); soundPlayer.AddSound("Explosion", "Audio\\Effects\\explosion", false); soundPlayer.AddSound("Thrust", "Audio\\Effects\\thrust", true); soundPlayer.AddSound("Scream", "Audio\\Effects\\scream", false); soundPlayer.AddSound("ScoreUp", "Audio\\Effects\\scoreup", false); MediaPlayer.IsRepeating = true; MediaPlayer.Volume = gameOptions.MusicVolumeAtPlay; MediaPlayer.Play(game.Content.Load<Song>("Audio\\Music\\Pulse")); playerOne = new Player(game, "Models/ship", scene.Light); playerOne.Fuel=gameOptions.StartFuel; playerOne.StartFuel=gameOptions.StartFuel; playerOne.Score = 0; playerOne.Lives = gameOptions.StartLives; CreateLevel(); }
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); } }