public void Update(GameControl gameControl, KeyboardState keyState, KeyboardState prevKeyState) { int selectedOption = SelectedOption; if (keyState.IsKeyDown(Keys.Down) && prevKeyState.IsKeyUp(Keys.Down)) { selectedOption++; } else if (keyState.IsKeyDown(Keys.Up) && prevKeyState.IsKeyUp(Keys.Up)) { selectedOption--; } if (selectedOption == options.Count) { selectedOption = 0; } else if (selectedOption < 0) { selectedOption = options.Count - 1; } if (selectedOption != SelectedOption) { SelectedOption = selectedOption; soundControl.PlayOptionHightlight(); } if (keyState.IsKeyDown(Keys.Enter) && prevKeyState.IsKeyUp(Keys.Enter)) { options[selectedOption].DoAction(gameControl); soundControl.PlayOptionSelect(); } if (title == "Pause" && keyState.IsKeyDown(Keys.Escape) && prevKeyState.IsKeyUp(Keys.Escape)) { gameControl.ResumeGame(); } }