]> git.localhorst.tv Git - blank.git/blob - src/app/Environment.hpp
first draft for client/server architecture
[blank.git] / src / app / Environment.hpp
1 #ifndef BLANK_APP_ENVIRONMENT_HPP_
2 #define BLANK_APP_ENVIRONMENT_HPP_
3
4 #include "Assets.hpp"
5 #include "FrameCounter.hpp"
6 #include "StateControl.hpp"
7 #include "../audio/Audio.hpp"
8 #include "../graphics/Viewport.hpp"
9 #include "../ui/Keymap.hpp"
10
11 #include <string>
12
13
14 namespace blank {
15
16 class Window;
17
18 struct HeadlessEnvironment {
19
20         AssetLoader loader;
21
22         FrameCounter counter;
23
24         StateControl state;
25
26
27         explicit HeadlessEnvironment(const std::string &asset_path);
28
29 };
30
31
32 struct Environment
33 : public HeadlessEnvironment {
34
35         Assets assets;
36
37         Audio audio;
38         Viewport viewport;
39         Window &window;
40
41         Keymap keymap;
42
43
44         Environment(Window &win, const std::string &asset_path);
45
46 };
47
48 }
49
50 #endif