From 8a7d87a312b3dc42877577e99533c96d48714368 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 13 Mar 2021 13:10:47 -0500 Subject: Added sliders to the settings menu #7 --- src/menu_system.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/menu_system.cpp') diff --git a/src/menu_system.cpp b/src/menu_system.cpp index 7ac8af5..e1aca8d 100644 --- a/src/menu_system.cpp +++ b/src/menu_system.cpp @@ -54,6 +54,12 @@ void MenuSystem::openPauseMenu() { MenuBuilder().Command("Settings") .ActivationFunction([this] (Game&) { openSubmenu(Menu({ + MenuBuilder().Slider("Music Volume: ") + .InitialValue(10) + .MaxValue(10), + MenuBuilder().Slider("Sound Volume: ") + .InitialValue(10) + .MaxValue(10), MenuBuilder().Command("Back") .ActivationFunction([this] (Game& game) { closePauseMenu(); @@ -122,6 +128,28 @@ void MenuSystem::pressedDown() { game_.getMixer().playSound("../res/sfx/vertical_menu.wav"); } +void MenuSystem::pressedLeft() { + Menu& curMenu = menus_.back(); + MenuItem& menuItem = curMenu.getItems()[curMenu.getCursorPosition()]; + + if (menuItem.type == MenuType::Slider && menuItem.value > 0) { + menuItem.value--; + + game_.getMixer().playSound("../res/sfx/horizontal_menu.wav"); + } +} + +void MenuSystem::pressedRight() { + Menu& curMenu = menus_.back(); + MenuItem& menuItem = curMenu.getItems()[curMenu.getCursorPosition()]; + + if (menuItem.type == MenuType::Slider && menuItem.value < menuItem.maxValue) { + menuItem.value++; + + game_.getMixer().playSound("../res/sfx/horizontal_menu.wav"); + } +} + void MenuSystem::activateOption() { Menu& curMenu = menus_.back(); const MenuItem& menuItem = curMenu.getItems()[curMenu.getCursorPosition()]; -- cgit 1.4.1