diff options
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(); } |