From cde94efdd44553f3f6575ce84b44c6799e1a1425 Mon Sep 17 00:00:00 2001 From: rtk0c Date: Fri, 6 May 2022 19:52:12 -0700 Subject: Changeset: 22 Improved camera and various cleanups --- source/App.hpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'source/App.hpp') diff --git a/source/App.hpp b/source/App.hpp index 26857db..54e1fb5 100644 --- a/source/App.hpp +++ b/source/App.hpp @@ -17,15 +17,18 @@ using KeyCaptureCallback = std::function; +// TODO how should we split responsibilities between App and Editor? class App { + friend class EditorInstance; + private: std::deque mKeyCaptureCallbacks; PodVector mPlayers; std::unique_ptr mEditor; GameWorld mWorld; - Camera mGameCamera; - Camera mEditorCamera; - Renderer mRenderer; + Renderer mWorldRenderer; + Camera mMainCamera; + Camera* mActiveCamera; // NOTE: should only be true when mEditor != nullptr bool mEditorVisible = false; bool mGameRunning = false; @@ -37,6 +40,10 @@ public: EditorInstance* GetEditor() { return mEditor.get(); } GameWorld* GetWorld() { return &mWorld; } + Camera* GetActiveCamera() const; + void BindActiveCamera(Camera* camera); + void UnbindActiveCamera(); + bool IsGameRunning() const; void SetGameRunning(bool running); -- cgit v1.2.3-70-g09d2