/// <summary> /// Allows the game to run logic such as updating the world, /// checking for collisions, gathering input, and playing audio. /// </summary> /// <param name="gameTime">Provides a snapshot of timing values.</param> protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } if (IsPlayer == true) { camera.update(player.playerPosition); } foreach (GameObject go in gameObjects) { player.Health = healthHold; go.Update(gameTime); go.GetPlayerPosition(player.playerPosition); go.GetSightePosition(player.Sightpostotion); if (player.playerPosition.Y < -2400 && level1 == true) { level1 = false; levels = 2; cutScenemanager = 1; } if (player.playerPosition.Y < -2370 && player.playerPosition.Y > -2400 && player.playerPosition.X > 1200 && player.playerPosition.X < 1300 && level3 == true) { level3 = false; levels = 4; cutScenemanager = 1; } if (player.playerPosition.Y < -1500 && level4 == true) { level.GameEnding(); level4 = false; } // check for colisions foreach (GameObject other in gameObjects) { if (go != other && go.IsColliding(other)) { go.DoCollision(other); } } }// update gameobejts level.addNextRooom(); foreach (GameObject go in solidObejts) { foreach (GameObject other in solidObejts) { if (go != other && go.IsColliding(other)) { go.DoCollision(other); } } } timer += gameTime.ElapsedGameTime.TotalSeconds; foreach (GameObject go in toBeRemoved) { gameObjects.Remove(go); }/// remove gameobejts toBeRemoved.Clear(); Effects.AddRange(toBeAddedEffect); toBeAddedEffect.Clear(); gameObjects.AddRange(toBeAdded); toBeAdded.Clear(); }