group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
PauseMenu.hpp
Go to the documentation of this file.
1#pragma once
2
6
7#include <SDL3/SDL_events.h>
8
9#include <string_view>
10
13{
14 bool resumeGame = false;
15 bool returnToMainMenu = false;
16 bool exitToDesktop = false;
17 bool settingsApplied = false;
18};
19
22{
23public:
25 void open();
26
28 void close();
29
31 [[nodiscard]] bool isOpen() const;
32
34 [[nodiscard]] bool isSettingsOpen() const;
35
38 bool handleEscape(const UserSettings& settings);
39
41 bool consumeEvent(const SDL_Event& event);
42
44 PauseMenuResult render(UserSettings& settings, std::string_view settingsPath);
45
46private:
53
55 void openSettings(const UserSettings& settings);
56
57 bool menuOpen = false;
61};
Definition ConfirmModal.hpp:22
Lightweight in-game pause overlay.
Definition PauseMenu.hpp:22
bool isSettingsOpen() const
Return true when the settings page is the active pause-menu page.
Definition PauseMenu.cpp:36
PendingConfirm pendingConfirm_
Action awaiting confirmation.
Definition PauseMenu.hpp:60
void close()
Close the pause menu and discard any transient settings UI state.
Definition PauseMenu.cpp:21
bool consumeEvent(const SDL_Event &event)
Consume SDL input events while the pause menu owns keyboard/mouse focus.
Definition PauseMenu.cpp:60
PauseMenuResult render(UserSettings &settings, std::string_view settingsPath)
Draw the pause/settings overlay and apply user settings when requested.
Definition PauseMenu.cpp:85
void open()
Open the pause menu on its root page.
Definition PauseMenu.cpp:15
SettingsEditor settingsEditor_
Shared tabbed settings page.
Definition PauseMenu.hpp:58
bool menuOpen
True when any pause overlay page is open.
Definition PauseMenu.hpp:57
PendingConfirm
Definition PauseMenu.hpp:48
@ None
Definition PauseMenu.hpp:49
@ ExitDesktop
Definition PauseMenu.hpp:51
@ LeaveMatch
Definition PauseMenu.hpp:50
bool handleEscape(const UserSettings &settings)
Handle Escape according to the current menu page/listening state.
Definition PauseMenu.cpp:41
void openSettings(const UserSettings &settings)
Enter settings page with a draft copy of the current live settings.
Definition PauseMenu.cpp:55
ConfirmModal confirm_
Reusable modal for destructive pause-menu actions.
Definition PauseMenu.hpp:59
bool isOpen() const
Return true when the pause overlay is visible.
Definition PauseMenu.cpp:31
Shared tabbed settings editor used by front-end screens and the pause menu.
Definition SettingsEditor.hpp:23
Result commands emitted by one pause-menu render pass.
Definition PauseMenu.hpp:13
bool settingsApplied
Settings were applied and gameplay input state should be reset.
Definition PauseMenu.hpp:17
bool exitToDesktop
Request normal SDL application shutdown.
Definition PauseMenu.hpp:16
bool resumeGame
Close the pause menu and resume gameplay.
Definition PauseMenu.hpp:14
bool returnToMainMenu
Leave the current match and return to the home screen.
Definition PauseMenu.hpp:15
Per-user gameplay settings loaded from SDL's pref-path TOML file.
Definition UserSettings.hpp:25