/// <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)) // Paused = !Paused; if (currentLevelPoints >= pointsToWin || Enemies.Count <= 0) { SwitchLevel(); } if (!Paused) { Input.CheckKeyboardInput(menu); if (!isGameOver) { ScreenWidth = GraphicsDevice.Viewport.Width; ScreenHeight = GraphicsDevice.Viewport.Height; link.Update(gameTime); foreach (Bouncerang b in bouncerangs) { b.Update(gameTime); b.CheckState(link); } for (int x = 0; x < Projectiles.Count; x++) { if (Projectiles[x] is Arrow) { Arrow a = (Arrow)Projectiles[x]; a.Update(gameTime); } else if (Projectiles[x] is Bomb) { Bomb a = (Bomb)Projectiles[x]; a.Update(gameTime); } else if (Projectiles[x] is Potion) { Potion a = (Potion)Projectiles[x]; a.Update(gameTime); a.CheckState(link); } } } base.Update(gameTime); } else { Input.MenuInput(menu); } }