Beispiel #1
0
            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();
                }
            }