diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2021-03-13 09:38:05 -0500 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2021-03-13 15:34:50 -0500 |
| commit | 2581f03c00f5a14f49081d82eb8e1a31c31aae88 (patch) | |
| tree | aa7fd5864204408ff3c189b7b2351b6619d6f0cb /src | |
| parent | f839e07d4d2e94070129129c669072145235cf4f (diff) | |
| download | tanetane-2581f03c00f5a14f49081d82eb8e1a31c31aae88.tar.gz tanetane-2581f03c00f5a14f49081d82eb8e1a31c31aae88.tar.bz2 tanetane-2581f03c00f5a14f49081d82eb8e1a31c31aae88.zip | |
Player can move cursor on pause menu
#7
Diffstat (limited to 'src')
| -rw-r--r-- | src/input_system.cpp | 8 | ||||
| -rw-r--r-- | src/menu_system.cpp | 20 | ||||
| -rw-r--r-- | src/menu_system.h | 4 |
3 files changed, 32 insertions, 0 deletions
| diff --git a/src/input_system.cpp b/src/input_system.cpp index fd7889d..0c68c49 100644 --- a/src/input_system.cpp +++ b/src/input_system.cpp | |||
| @@ -126,6 +126,14 @@ void InputSystem::tick(double dt) { | |||
| 126 | if (game_.getSystem<MessageSystem>().isChoiceActive()) { | 126 | if (game_.getSystem<MessageSystem>().isChoiceActive()) { |
| 127 | game_.getSystem<MessageSystem>().selectSecondChoice(); | 127 | game_.getSystem<MessageSystem>().selectSecondChoice(); |
| 128 | } | 128 | } |
| 129 | } else if (e.key.keysym.sym == SDLK_UP) { | ||
| 130 | if (game_.getSystem<MenuSystem>().isMenuOpen()) { | ||
| 131 | game_.getSystem<MenuSystem>().pressedUp(); | ||
| 132 | } | ||
| 133 | } else if (e.key.keysym.sym == SDLK_DOWN) { | ||
| 134 | if (game_.getSystem<MenuSystem>().isMenuOpen()) { | ||
| 135 | game_.getSystem<MenuSystem>().pressedDown(); | ||
| 136 | } | ||
| 129 | } | 137 | } |
| 130 | } else if (e.type == SDL_KEYUP && (e.key.keysym.sym == SDLK_LSHIFT || e.key.keysym.sym == SDLK_RSHIFT)) { | 138 | } else if (e.type == SDL_KEYUP && (e.key.keysym.sym == SDLK_LSHIFT || e.key.keysym.sym == SDLK_RSHIFT)) { |
| 131 | if (game_.isGameplayPaused()) continue; | 139 | if (game_.isGameplayPaused()) continue; |
| diff --git a/src/menu_system.cpp b/src/menu_system.cpp index acbfd76..d3a310e 100644 --- a/src/menu_system.cpp +++ b/src/menu_system.cpp | |||
| @@ -49,3 +49,23 @@ void MenuSystem::closePauseMenu() { | |||
| 49 | pauseAnimation_.start(125, 0.0); | 49 | pauseAnimation_.start(125, 0.0); |
| 50 | openState_ = OpenState::Animating; | 50 | openState_ = OpenState::Animating; |
| 51 | } | 51 | } |
| 52 | |||
| 53 | void MenuSystem::pressedUp() { | ||
| 54 | if (cursor_ > 0) { | ||
| 55 | cursor_--; | ||
| 56 | cursorBob_ = 0; | ||
| 57 | cursorBobDown_ = true; | ||
| 58 | |||
| 59 | game_.getMixer().playSound("../res/sfx/vertical_menu.wav"); | ||
| 60 | } | ||
| 61 | } | ||
| 62 | |||
| 63 | void MenuSystem::pressedDown() { | ||
| 64 | if (cursor_ < menu_.size() - 1) { | ||
| 65 | cursor_++; | ||
| 66 | cursorBob_ = 0; | ||
| 67 | cursorBobDown_ = true; | ||
| 68 | |||
| 69 | game_.getMixer().playSound("../res/sfx/vertical_menu.wav"); | ||
| 70 | } | ||
| 71 | } | ||
| diff --git a/src/menu_system.h b/src/menu_system.h index 9cbd1f0..fa373cb 100644 --- a/src/menu_system.h +++ b/src/menu_system.h | |||
| @@ -24,6 +24,10 @@ public: | |||
| 24 | 24 | ||
| 25 | void closePauseMenu(); | 25 | void closePauseMenu(); |
| 26 | 26 | ||
| 27 | void pressedUp(); | ||
| 28 | |||
| 29 | void pressedDown(); | ||
| 30 | |||
| 27 | // Info | 31 | // Info |
| 28 | 32 | ||
| 29 | double getPauseAnimationProgress() const { return pauseAnimation_.getProgress(); } | 33 | double getPauseAnimationProgress() const { return pauseAnimation_.getProgress(); } |
