aboutsummaryrefslogtreecommitdiff
path: root/source/App.hpp
diff options
context:
space:
mode:
authorhnOsmium0001 <[email protected]>2022-04-08 22:30:12 -0700
committerhnOsmium0001 <[email protected]>2022-04-08 22:30:12 -0700
commite47a98793e58a5dbbe76bfed27e59408e43538e4 (patch)
tree250eb4c4200efb63c493ac6f4adb83c89be10ea1 /source/App.hpp
parent3fdc6eb4f2cbeffce9b250beec4d3a2d52a3f534 (diff)
More work
Diffstat (limited to 'source/App.hpp')
-rw-r--r--source/App.hpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/App.hpp b/source/App.hpp
index 5a701d0..b861730 100644
--- a/source/App.hpp
+++ b/source/App.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include "EditorCoreAPI.hpp"
#include "Player.hpp"
#include "PodVector.hpp"
#include "World.hpp"
@@ -7,18 +8,30 @@
#define GLFW_INCLUDE_NONE
#include <GLFW/glfw3.h>
+#include <deque>
+#include <functional>
#include <memory>
#include <vector>
+using KeyCaptureCallback = std::function<bool(int, int)>;
+
class App {
private:
+ std::deque<KeyCaptureCallback> mKeyCaptureCallbacks;
PodVector<Player*> mPlayers;
+ EditorInstance* mEditor;
std::unique_ptr<GameWorld> mCurrentWorld;
+ bool mEditorShown = true;
+ bool mInitialized = false;
public:
void Init();
void Shutdown();
void Show();
+ void HandleMouse(int button, int action);
+ void HandleMouseMotion(double xOff, double yOff);
void HandleKey(GLFWkeyboard* keyboard, int key, int action);
+
+ void PushKeyCaptureCallback(KeyCaptureCallback callback);
};