diff options
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 |