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;
}