|
CPP-TOOLBOX
|
Handles all user interface (UI) states related to input, graphics, and sound configuration. More...
#include <input_graphics_sound_menu.hpp>
Public Member Functions | |
| InputGraphicsSoundMenu (Window &window, InputState &input_state, Batcher &batcher, SoundSystem &sound_system, Configuration &configuration) | |
| Constructs an InputGraphicsSoundMenu and initializes all UIs and configuration handlers. | |
| void | process_and_queue_render_menu (Window &window, InputState &input_state, IUIRenderSuite &ui_render_suite) |
| Processes and queues the rendering of all active menu UIs. | |
Public Attributes | |
| bool | enabled = true |
| UIState | curr_state = UIState::MAIN_MENU |
| UI | main_menu_ui |
| UI | about_ui |
| UI | settings_menu_ui |
| UI | player_settings_ui |
| UI | input_settings_ui |
| UI | sound_settings_ui |
| UI | graphics_settings_ui |
| UI | advanced_settings_ui |
| std::map< UIState, UI & > | game_state_to_ui |
Handles all user interface (UI) states related to input, graphics, and sound configuration.
This class manages multiple UI panels including main menu, settings menus, and submenus for sound, graphics, input, and player settings. It integrates input, configuration, sound, and rendering systems to create an interactive settings menu for the engine or game.
InputState only for key validity checks. This should be removed once key validation is decoupled.
|
inline |
Constructs an InputGraphicsSoundMenu and initializes all UIs and configuration handlers.
| window | Reference to the main Window. |
| input_state | Reference to the InputState used for handling input bindings. |
| batcher | Reference to the Batcher used for UI rendering. |
| sound_system | Reference to the SoundSystem for playing UI sounds. |
| configuration | Reference to the Configuration object managing persistent settings. |
| std::invalid_argument | If a configuration handler attempts to parse an invalid setting string. |
|
inline |
Processes and queues the rendering of all active menu UIs.
| window | Reference to the main window. |
| input_state | Reference to the input state. |
| ui_render_suite | Reference to the UI render suite implementation responsible for drawing the UI. |
IUIRenderSuite implementation (such as ui_render_suite_implementation) is provided before calling this function, a sample implementation using the toolbox_engine is here: https://github.com/cpp-toolbox/ui_render_suite_implementation | UI InputGraphicsSoundMenu::about_ui |
| UI InputGraphicsSoundMenu::advanced_settings_ui |
| UIState InputGraphicsSoundMenu::curr_state = UIState::MAIN_MENU |
| bool InputGraphicsSoundMenu::enabled = true |
| UI InputGraphicsSoundMenu::graphics_settings_ui |
| UI InputGraphicsSoundMenu::input_settings_ui |
| UI InputGraphicsSoundMenu::main_menu_ui |
| UI InputGraphicsSoundMenu::player_settings_ui |
| UI InputGraphicsSoundMenu::settings_menu_ui |
| UI InputGraphicsSoundMenu::sound_settings_ui |