/// <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 void Update(GameTime gameTime)
    {
        // Allows the game to exit
        if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed ||
            exitGame)
        {
            this.Exit();
        }

        if (GamePad.GetState(PlayerIndex.One).Triggers.Right > 0.00001f)
        {
            _zoom = 1.5f;
        }

        if (GamePad.GetState(PlayerIndex.One).Triggers.Left > 0.00001f)
        {
            _zoom = 1f;
        }

        cam.UpdateCameraZoom(_zoom, gameTime);
        bloom.UpdateBloom(bloomIntensityIndex, gameTime);
        InputHelper.UpdateStates();
        GameManager.Update(gameTime);
        SoundManager.Update();
        MusicManager.Update();

        base.Update(gameTime);
    }