/// <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>
        public void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed ||
                Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                LevelHandler.Instance.LoadLevel(LevelHandler.TypeOfLevel.MainScreen);
            }



            if (!paused)
            {
                //if (Keyboard.GetState().IsKeyDown(Keys.K))
                //{
                //    LevelHandler.Instance.LoadLevel(LevelHandler.TypeOfLevel.MainScreen);
                //}



                // TODO: Add your update logic here

                List <Sprite> tempSprites = new List <Sprite>();

                foreach (Sprite sprite in GameObjectHandler.Instance.GetListOfGameObjects())
                {
                    tempSprites.Add(sprite);
                }

                foreach (Sprite sprite in tempSprites)
                {
                    sprite.Update(gameTime);
                }

                wg.Update(gameTime);

                CollisionHandler.Instance.Update(gameTime);
                inputController1.Update(gameTime);
                //inputController2.Update(gameTime);
                //base.Update(gameTime);
            }

            previousKeyState = currentKeyState;
            currentKeyState  = Keyboard.GetState();
            previousPadState = currentPadState;
            currentPadState  = GamePad.GetState(PlayerIndex.One);

            if (currentKeyState.IsKeyUp(Keys.P) && previousKeyState.IsKeyDown(Keys.P) || currentPadState.IsButtonUp(Buttons.Start) && previousPadState.IsButtonDown(Buttons.Start))
            {
                if (!paused)
                {
                    paused = true;
                    gameSoundEffectInstance.Pause();
                }
                else
                {
                    paused = false;
                    gameSoundEffectInstance.Resume();
                }
            }
        }
        /// <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>
        public void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Start == ButtonState.Pressed ||
                Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                LevelHandler.Instance.LoadLevel(LevelHandler.TypeOfLevel.MainScreen);
            }

            _keyState = Keyboard.GetState();
            inputController1.Update(gameTime);
        }
        /// <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>
        public void Update(GameTime gameTime)
        {
            //if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed ||
            //    Keyboard.GetState().IsKeyDown(Keys.Escape))
            //    gameReference.Exit();


            // TODO: Add your update logic here
            if (Keyboard.GetState().IsKeyDown(Keys.S) || GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.Y < -0.8)
            {
                if (gameTime.TotalGameTime.TotalMilliseconds > _msSinceLastMove + _moveDelay)
                {
                    if (isStartSelected)
                    {
                        isStartSelected    = false;
                        isSettingsSelected = true;
                        isExitSelected     = false;
                    }
                    else if (isSettingsSelected)
                    {
                        isStartSelected    = false;
                        isSettingsSelected = false;
                        isExitSelected     = true;
                    }
                    else if (isExitSelected)
                    {
                        isStartSelected    = true;
                        isSettingsSelected = false;
                        isExitSelected     = false;
                    }

                    _msSinceLastMove = gameTime.TotalGameTime.TotalMilliseconds;
                }
            }
            else if (Keyboard.GetState().IsKeyDown(Keys.W) || GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.Y > 0.8)
            {
                if (gameTime.TotalGameTime.TotalMilliseconds > _msSinceLastMove + _moveDelay)
                {
                    if (isStartSelected)
                    {
                        isStartSelected    = false;
                        isSettingsSelected = false;
                        isExitSelected     = true;
                    }
                    else if (isSettingsSelected)
                    {
                        isStartSelected    = true;
                        isSettingsSelected = false;
                        isExitSelected     = false;
                    }
                    else if (isExitSelected)
                    {
                        isStartSelected    = false;
                        isSettingsSelected = true;
                        isExitSelected     = false;
                    }

                    _msSinceLastMove = gameTime.TotalGameTime.TotalMilliseconds;
                }
            }

            if (Keyboard.GetState().IsKeyDown(Keys.Enter) && _keyState.IsKeyUp(Keys.Enter) || GamePad.GetState(PlayerIndex.One).Buttons.X == ButtonState.Pressed)
            {
                if (isStartSelected)
                {
                    LevelHandler.Instance.LoadLevel(LevelHandler.TypeOfLevel.Game);
                }
                else if (isSettingsSelected)
                {
                    LevelHandler.Instance.LoadLevel(LevelHandler.TypeOfLevel.Instructions);
                }
                else if (isExitSelected)
                {
                    gameReference.Exit();
                }
            }

            _keyState = Keyboard.GetState();
            inputController1.Update(gameTime);
        }