diff options
author | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-11-28 09:00:49 +0100 |
---|---|---|
committer | WBoerenkamps <wrj.boerenkamps@student.avans.nl> | 2024-11-28 09:00:49 +0100 |
commit | 8635d1ace31232c295c6cb85ea215887c6fb1319 (patch) | |
tree | 898f572568ed6f6d9afd8a3c37abde3441e070a5 /src/crepe/api | |
parent | 9d60b7b70abd832dc229c59114e465d457fcd0a3 (diff) | |
parent | d1eed940b8119e95a14f1d08bf26184c7f0a0d8f (diff) |
Merge branch 'master' of https://github.com/lonkaars/crepe into wouter/inputSystem
Diffstat (limited to 'src/crepe/api')
-rw-r--r-- | src/crepe/api/GameObject.cpp | 6 | ||||
-rw-r--r-- | src/crepe/api/GameObject.h | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/crepe/api/GameObject.cpp b/src/crepe/api/GameObject.cpp index 3c36a21..9ef4682 100644 --- a/src/crepe/api/GameObject.cpp +++ b/src/crepe/api/GameObject.cpp @@ -30,3 +30,9 @@ void GameObject::set_parent(const GameObject & parent) { RefVector<Metadata> parent_metadata = mgr.get_components_by_id<Metadata>(parent.id); parent_metadata.at(0).get().children.push_back(this->id); } + +void GameObject::set_persistent(bool persistent) { + ComponentManager & mgr = this->component_manager; + + mgr.set_persistent(this->id, persistent); +} diff --git a/src/crepe/api/GameObject.h b/src/crepe/api/GameObject.h index fcb8d9a..4cd2bc0 100644 --- a/src/crepe/api/GameObject.h +++ b/src/crepe/api/GameObject.h @@ -58,6 +58,15 @@ public: */ template <typename T, typename... Args> T & add_component(Args &&... args); + /** + * \brief Components will not be deleted if this method is called + * + * This method sets the persistent flag of the GameObject to true. If the persistent + * flag is set to true, the GameObject will not be deleted when the scene is changed. + * + * \param persistent The persistent flag + */ + void set_persistent(bool persistent = true); public: //! The id of the GameObject |