nsnake
Classic snake game for the terminal
Loading...
Searching...
No Matches
GameStateMainMenu.hpp
1#ifndef GAMESTATEMAINMENU_H_DEFINED
2#define GAMESTATEMAINMENU_H_DEFINED
3
4#include <Engine/Flow/GameState.hpp>
5#include <Display/Layouts/LayoutMainMenu.hpp>
6#include <Engine/Graphics/Widgets/Menu.hpp>
7#include <Engine/Graphics/Widgets/Menu/MenuAlphabetic.hpp>
8#include <Display/WindowGameHelp.hpp>
9
12class GameStateMainMenu: public GameState
13{
14 friend class LayoutMainMenu;
15
16public:
18 virtual ~GameStateMainMenu() { };
19
20 void load();
21 void unload();
22
23 void update();
24 void draw();
25
26private:
27 LayoutMainMenu* layout;
28
30 Menu* menu;
31
32 MenuAlphabetic* menuLevels;
33 bool menuLevelsActivated;
34
35 Menu* menuGameSettings;
36 bool menuGameSettingsActivated;
37
38 Menu* menuGUIOptions;
39 bool menuGUIOptionsActivated;
40
41 Menu* menuControls;
42 bool menuControlsActivated;
43
44 WindowGameHelp* helpWindows;
45
46 // easily create internal menus
47 void createMainMenu();
48 void createGameSettingsMenu();
49 void createLevelsMenu();
50 void createGUIOptionsMenu();
51 void createControlsMenu();
52 void saveSettingsMenuGUIOptions();
53 void saveSettingsMenuGameSettings();
54};
55
56#endif //GAMESTATEMAINMENU_H_DEFINED
57
How we show the screen at GameStateMainMenu.
Specific Window that shows Help and other info during Game.