-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMenuManager.h
More file actions
122 lines (97 loc) · 2.43 KB
/
MenuManager.h
File metadata and controls
122 lines (97 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#pragma once
#include "surface.h"
#include "game.h"
#include "Button.h"
#include "Timer.h"
namespace Tmpl8
{
class MenuManager
{
public:
// All Menus //
enum class MenuState
{
LevelComplete, // Menu that pops up after player completes a level
LevelFailed, // Menu that pops up after player fails a level
LevelSelect, // Level Selection Menu
Main, // Main Menu
Paused, // Pause Menu
Playing, // Playing UI (pause button, etc.)
Settings, // Settings Menu
HowToPlay, // How To Play Menu
Controls, // Controls Menu
};
public:
// Constructor //
MenuManager();
// Setters //
void SetMenuState(MenuState state_in) { menuState = state_in; };
// Getters //
MenuState GetMenuState() const { return menuState; };
// Main Functions //
void Draw(Surface* screen_in, Game& game_in, LevelManager& level, Timer& timer);
void Tick(Game& game_in, LevelManager& level_in, Player& player, Timer& timer);
private:
MenuState menuState = MenuState::Main;
// Sprites //
Sprite mainMenu;
Sprite settingsMenu;
Sprite howToPlayMenu;
Sprite controlsMenu;
Sprite levelSelectionMenu;
Sprite levelCompletedMenu;
Sprite levelFailedMenu;
Sprite pauseMenu;
// General
Sprite backButtonSprite;
Sprite menuButtonSprite;
Sprite retryButtonSprite;
// Main Menu
Sprite startButtonSprite;
Sprite settingsButtonSprite;
Sprite howToPlayButtonSprite;
Sprite quitButtonSprite;
// Settings Menu
Sprite onOffButtonSprite;
// How To Play Menu
Sprite controlsButtonSprite;
// Level Selection Menu
Sprite levelOneButtonSprite;
Sprite levelTwoButtonSprite;
Sprite levelThreeButtonSprite;
// Playing UI
Sprite pauseButtonSprite;
// Pause Menu
Sprite continueButtonSprite;
Sprite restartButtonSprite;
// Level Completed Menu
Sprite nextLevelButtonSprite;
Sprite selectLevelButtonSprite;
// Buttons //
Button backButton;
Button menuButton;
Button retryButton;
// Main Menu
Button startButton;
Button settingsButton;
Button howToPlayButton;
Button quitButton;
// Settings Menu
Button onOff1Button;
Button onOff2Button;
// How To Play Menu
Button controlsButton;
// Level Selection Menu
Button levelOneButton;
Button levelTwoButton;
Button levelThreeButton;
// Playing UI
Button pauseButton;
// Pause Menu
Button continueButton;
Button restartButton;
// Level Completed Menu
Button nextLevelButton;
Button selectLevelButton;
};
};