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
3
#include "
config/UserSettings.hpp
"
4
#include "
menus/pause/ConfirmModal.hpp
"
5
#include "
menus/settings/SettingsEditor.hpp
"
6
7
#include <SDL3/SDL_events.h>
8
9
#include <string_view>
10
12
struct
PauseMenuResult
13
{
14
bool
resumeGame
=
false
;
15
bool
returnToMainMenu
=
false
;
16
bool
exitToDesktop
=
false
;
17
bool
settingsApplied
=
false
;
18
};
19
21
class
PauseMenu
22
{
23
public
:
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
46
private
:
47
enum class
PendingConfirm
48
{
49
None
,
50
LeaveMatch
,
51
ExitDesktop
,
52
};
53
55
void
openSettings
(
const
UserSettings
& settings);
56
57
bool
menuOpen
=
false
;
58
SettingsEditor
settingsEditor_
;
59
ConfirmModal
confirm_
;
60
PendingConfirm
pendingConfirm_
=
PendingConfirm::None
;
61
};
ConfirmModal.hpp
SettingsEditor.hpp
UserSettings.hpp
ConfirmModal
Definition
ConfirmModal.hpp:22
PauseMenu
Lightweight in-game pause overlay.
Definition
PauseMenu.hpp:22
PauseMenu::isSettingsOpen
bool isSettingsOpen() const
Return true when the settings page is the active pause-menu page.
Definition
PauseMenu.cpp:36
PauseMenu::pendingConfirm_
PendingConfirm pendingConfirm_
Action awaiting confirmation.
Definition
PauseMenu.hpp:60
PauseMenu::close
void close()
Close the pause menu and discard any transient settings UI state.
Definition
PauseMenu.cpp:21
PauseMenu::consumeEvent
bool consumeEvent(const SDL_Event &event)
Consume SDL input events while the pause menu owns keyboard/mouse focus.
Definition
PauseMenu.cpp:60
PauseMenu::render
PauseMenuResult render(UserSettings &settings, std::string_view settingsPath)
Draw the pause/settings overlay and apply user settings when requested.
Definition
PauseMenu.cpp:85
PauseMenu::open
void open()
Open the pause menu on its root page.
Definition
PauseMenu.cpp:15
PauseMenu::settingsEditor_
SettingsEditor settingsEditor_
Shared tabbed settings page.
Definition
PauseMenu.hpp:58
PauseMenu::menuOpen
bool menuOpen
True when any pause overlay page is open.
Definition
PauseMenu.hpp:57
PauseMenu::PendingConfirm
PendingConfirm
Definition
PauseMenu.hpp:48
PauseMenu::PendingConfirm::None
@ None
Definition
PauseMenu.hpp:49
PauseMenu::PendingConfirm::ExitDesktop
@ ExitDesktop
Definition
PauseMenu.hpp:51
PauseMenu::PendingConfirm::LeaveMatch
@ LeaveMatch
Definition
PauseMenu.hpp:50
PauseMenu::handleEscape
bool handleEscape(const UserSettings &settings)
Handle Escape according to the current menu page/listening state.
Definition
PauseMenu.cpp:41
PauseMenu::openSettings
void openSettings(const UserSettings &settings)
Enter settings page with a draft copy of the current live settings.
Definition
PauseMenu.cpp:55
PauseMenu::confirm_
ConfirmModal confirm_
Reusable modal for destructive pause-menu actions.
Definition
PauseMenu.hpp:59
PauseMenu::isOpen
bool isOpen() const
Return true when the pause overlay is visible.
Definition
PauseMenu.cpp:31
SettingsEditor
Shared tabbed settings editor used by front-end screens and the pause menu.
Definition
SettingsEditor.hpp:23
PauseMenuResult
Result commands emitted by one pause-menu render pass.
Definition
PauseMenu.hpp:13
PauseMenuResult::settingsApplied
bool settingsApplied
Settings were applied and gameplay input state should be reset.
Definition
PauseMenu.hpp:17
PauseMenuResult::exitToDesktop
bool exitToDesktop
Request normal SDL application shutdown.
Definition
PauseMenu.hpp:16
PauseMenuResult::resumeGame
bool resumeGame
Close the pause menu and resume gameplay.
Definition
PauseMenu.hpp:14
PauseMenuResult::returnToMainMenu
bool returnToMainMenu
Leave the current match and return to the home screen.
Definition
PauseMenu.hpp:15
UserSettings
Per-user gameplay settings loaded from SDL's pref-path TOML file.
Definition
UserSettings.hpp:25
src
client
menus
pause
PauseMenu.hpp
Generated by
1.16.1