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.h | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'src/menu.h') diff --git a/src/menu.h b/src/menu.h index 67c75c0..9ef94be 100644 --- a/src/menu.h +++ b/src/menu.h @@ -9,14 +9,17 @@ class Game; enum class MenuType { - Command + Command, + Slider }; struct MenuItem { MenuType type = MenuType::Command; std::string text; std::function activationFunction; - bool playSfx = false; + bool playSfx = true; + int value = 0; + int maxValue = 0; }; class MenuBuilder { @@ -25,7 +28,6 @@ public: MenuBuilder& Command(std::string text) { result_.type = MenuType::Command; result_.text = std::move(text); - result_.playSfx = true; return *this; } @@ -39,6 +41,22 @@ public: return *this; } + MenuBuilder& Slider(std::string text) { + result_.type = MenuType::Slider; + result_.text = std::move(text); + return *this; + } + + MenuBuilder& InitialValue(int value) { + result_.value = value; + return *this; + } + + MenuBuilder& MaxValue(int mv) { + result_.maxValue = mv; + return *this; + } + MenuItem Build() const { return result_; } @@ -55,6 +73,8 @@ public: const std::vector& getItems() const { return items_; } + std::vector& getItems() { return items_; } + int getCursorPosition() const { return cursor_; } void moveCursorUp(); -- cgit 1.4.1