Study Dungeon  1.0.0
A group project for COSC345
mainmenu_scene.h
Go to the documentation of this file.
1 
11 #pragma once
12 #ifndef MENUSCENE_H
13 #define MENUSCENE_H
14 
15 #include "artwork.h"
16 #include "menu.h"
17 #include "util.h"
18 #include <algorithm>
19 #include <chrono>
20 #include <conio.h>
21 #include <functional>
22 #include <iostream>
23 #include <memory>
24 #include <string>
25 #include <unordered_map>
26 #include <vector>
27 #include <windows.h>
28 
34 {
35 public:
40  void setStaticDrawn(bool staticDrawn) override;
41 
52  std::function<void()> openSettingsScene,
53  std::function<void()> openHowToScene,
54  std::function<void()> openBrowseDecks,
55  std::function<void()> openEditDecks);
56 
65  void createMainMenu(std::function<void()> openSettingsScene,
66  std::function<void()> openHowToScene,
67  std::function<void()> openBrowseDecks,
68  std::function<void()> openEditDecks);
69 
74  void init() override;
75 
80  void update() override;
81 
87  void render(std::shared_ptr<ConsoleUI::ConsoleWindow> window) override;
88 
93  void handleInput() override;
94 
95 
96 private:
97  ConsoleUI::UIManager &m_uiManager;
98  bool m_needsRedraw;
99  bool m_staticDrawn = false;
100 };
101 #endif
Defines variables containg ASCII artwork.
Defines a UI scene.
Definition: menu.h:629
Defines the UI manager.
Definition: menu.h:675
The class for the the main menu ui.
Definition: mainmenu_scene.h:34
void init() override
Initialise the scene.
Definition: mainmenu_scene.cpp:116
MainMenuScene(ConsoleUI::UIManager &uiManager, std::function< void()> openSettingsScene, std::function< void()> openHowToScene, std::function< void()> openBrowseDecks, std::function< void()> openEditDecks)
Construct a new Main Menu Scene object.
Definition: mainmenu_scene.cpp:19
void setStaticDrawn(bool staticDrawn) override
Sets the static drawn state of the scene.
Definition: mainmenu_scene.cpp:14
void update() override
Actions to perform on events.
Definition: mainmenu_scene.cpp:120
void createMainMenu(std::function< void()> openSettingsScene, std::function< void()> openHowToScene, std::function< void()> openBrowseDecks, std::function< void()> openEditDecks)
Create a Main Menu object.
Definition: mainmenu_scene.cpp:98
void render(std::shared_ptr< ConsoleUI::ConsoleWindow > window) override
The scene objects to render.
Definition: mainmenu_scene.cpp:124
void handleInput() override
Input handler for the scene.
Definition: mainmenu_scene.cpp:170
Classes and functions for the UI system.
Contains useful helper functions.