From bddfe3aba8dcfc790d6d25bd7e0ad311a29717f3 Mon Sep 17 00:00:00 2001 From: sorket Date: Sat, 15 Jul 2023 21:05:04 -0400 Subject: [PATCH] Workspace code for CurrentCamera --- .../Engine/Header/App/V8/DataModel/Workspace.hpp | 8 ++++++++ .../Engine/Source/App/V8/DataModel/Workspace.cpp | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/Projects/Engine/Header/App/V8/DataModel/Workspace.hpp b/Projects/Engine/Header/App/V8/DataModel/Workspace.hpp index 917ee30..f290049 100644 --- a/Projects/Engine/Header/App/V8/DataModel/Workspace.hpp +++ b/Projects/Engine/Header/App/V8/DataModel/Workspace.hpp @@ -2,7 +2,10 @@ #include #include + #include +#include + #include namespace RNR @@ -14,9 +17,14 @@ namespace RNR virtual void onChildAdded(RNR::Instance* childAdded); virtual void onChildRemoved(RNR::Instance* childRemoved); + + Camera* getCurrentCamera() const; + void setCurrentCamera(Camera *value); private: std::vector m_objects; Ogre::InstanceManager* m_instMan; Ogre::SceneNode* m_worldspawn; + + boost::shared_ptr currentCamera; }; } diff --git a/Projects/Engine/Source/App/V8/DataModel/Workspace.cpp b/Projects/Engine/Source/App/V8/DataModel/Workspace.cpp index d92923d..1009dd3 100644 --- a/Projects/Engine/Source/App/V8/DataModel/Workspace.cpp +++ b/Projects/Engine/Source/App/V8/DataModel/Workspace.cpp @@ -1,6 +1,7 @@ #include #include #include +#include namespace RNR { @@ -55,4 +56,19 @@ namespace RNR delete child_ent; } } + + Camera* Workspace::getCurrentCamera() const + { + return currentCamera.get(); + } + + void Workspace::setCurrentCamera(Camera *newCamera) + { + if (newCamera != currentCamera.get()) + { + currentCamera = boost::shared_ptr(newCamera); + + // TODO: raise propertyChanged and currentCameraChangedSignal + } + } } \ No newline at end of file