Blink.GUI.StateLevelSelect.Update C# (CSharp) Method

Update() public method

public Update ( GameTime gameTime ) : void
gameTime Microsoft.Xna.Framework.GameTime
return void
        public void Update(GameTime gameTime)
        {
            KeyboardState keyState = Keyboard.GetState();
            GamePadState padState = GamePad.GetState(PlayerIndex.One);

            bool moveLeft = false;
            bool moveRight = false;
            bool accept = false;

            if (keyState.IsKeyUp(Keys.Enter))
            {
                prematureEnter = false;
            }

            if (keyState.IsKeyDown(Keys.Left))
                moveLeft = true;
            if (keyState.IsKeyDown(Keys.Right))
                moveRight = true;
            if (keyState.IsKeyDown(Keys.Enter) && prematureEnter == false)
                accept = true;

            Vector2 thumbDir = padState.ThumbSticks.Left.ToPoint().ToVector2();
            if (thumbDir.Length() > .01)
            {
                if (thumbDir.X < 0)
                    moveLeft = true;
                if (thumbDir.X > 0)
                    moveRight = true;
            }
            if (padState.IsButtonDown(Buttons.A))
                accept = true;
            if (padState.IsButtonDown(Buttons.B))
            {
                nextState = prevState;
            }

            if (moveLeft && !lastMoveLeft)
            {
                mapSets[selected].unselect();
                selected--;
                if (selected % THUMBROWSIZE == 7)
                    selected += THUMBROWSIZE;
                else if(selected < 0)
                {
                    selected += mapSets.Count;
                }
                mapSets[selected].select();
            }
            if (moveRight && !lastMoveRight)
            {
                mapSets[selected].unselect();
                selected++;
                //if (selected % THUMBROWSIZE == 0)
                //    selected -= THUMBROWSIZE;
                if(selected >= mapSets.Count)
                {
                    selected = 0;//-= (selected % THUMBROWSIZE);
                }
                mapSets[selected].select();
            }
            if (accept && !lastAccept)
            {
                selectedMap = mapSets[selected];
                nextState = game;
            }

            lastAccept = accept;
            lastMoveRight = moveRight;
            lastMoveLeft = moveLeft;
        }