aboutsummaryrefslogtreecommitdiff
path: root/src/engine/game_initializer.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/game_initializer.hpp')
-rw-r--r--src/engine/game_initializer.hpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/engine/game_initializer.hpp b/src/engine/game_initializer.hpp
new file mode 100644
index 0000000..12b42de
--- /dev/null
+++ b/src/engine/game_initializer.hpp
@@ -0,0 +1,26 @@
+#pragma once
+
+#include "DI/auto_wirable.hpp"
+#include "interfaces/game.hpp"
+#include "interfaces/game_initializer.hpp"
+#include "interfaces/input.hpp"
+#include "interfaces/scene.hpp"
+
+#include <memory>
+
+class GameInitializer
+ : public IGameInitializer,
+ public AutoWirable<IGameInitializer, GameInitializer, IScene, IInputHandler, IGame>
+{
+public:
+ GameInitializer(std::shared_ptr<IScene> scene,
+ std::shared_ptr<IInputHandler> input_handler,
+ std::shared_ptr<IGame> game);
+
+ void initialize() override;
+
+private:
+ std::shared_ptr<IScene> _scene;
+ std::shared_ptr<IInputHandler> _input_handler;
+ std::shared_ptr<IGame> _game;
+};