]> git.localhorst.tv Git - blank.git/blobdiff - src/app/Environment.hpp
first draft for client/server architecture
[blank.git] / src / app / Environment.hpp
index b465bfb48f19c88e7e157e68b3f5c9f2e10ca66d..95813fc12dd7ad43f5e6352924939a80c26040e2 100644 (file)
@@ -6,25 +6,42 @@
 #include "StateControl.hpp"
 #include "../audio/Audio.hpp"
 #include "../graphics/Viewport.hpp"
+#include "../ui/Keymap.hpp"
+
+#include <string>
 
 
 namespace blank {
 
 class Window;
 
-struct Environment {
+struct HeadlessEnvironment {
 
-       Audio audio;
-       Viewport viewport;
-       Window &window;
+       AssetLoader loader;
 
-       Assets assets;
        FrameCounter counter;
 
        StateControl state;
 
 
-       explicit Environment(Window &win);
+       explicit HeadlessEnvironment(const std::string &asset_path);
+
+};
+
+
+struct Environment
+: public HeadlessEnvironment {
+
+       Assets assets;
+
+       Audio audio;
+       Viewport viewport;
+       Window &window;
+
+       Keymap keymap;
+
+
+       Environment(Window &win, const std::string &asset_path);
 
 };