diff options
| -rw-r--r-- | src/crepe/ComponentManager.cpp | 4 | ||||
| -rw-r--r-- | src/crepe/ComponentManager.h | 3 | ||||
| -rw-r--r-- | src/crepe/api/GameObject.cpp | 4 | ||||
| -rw-r--r-- | src/crepe/api/GameObject.h | 4 | 
4 files changed, 10 insertions, 5 deletions
diff --git a/src/crepe/ComponentManager.cpp b/src/crepe/ComponentManager.cpp index e99419e..af4b9f4 100644 --- a/src/crepe/ComponentManager.cpp +++ b/src/crepe/ComponentManager.cpp @@ -47,4 +47,6 @@ GameObject ComponentManager::new_object(const string & name, const string & tag,  	return object;  } -void ComponentManager::set_persistent(game_object_id_t id) { this->persistent[id] = true; } +void ComponentManager::set_persistent(game_object_id_t id, bool persistent) { +	this->persistent[id] = persistent; +} diff --git a/src/crepe/ComponentManager.h b/src/crepe/ComponentManager.h index 8462698..480124f 100644 --- a/src/crepe/ComponentManager.h +++ b/src/crepe/ComponentManager.h @@ -106,8 +106,9 @@ protected:  	 * components will not be deleted.  	 *  	 * \param id The id of the GameObject to set as persistent +	 * \param persistent The persistent flag  	 */ -	void set_persistent(game_object_id_t id); +	void set_persistent(game_object_id_t id, bool persistent);  public:  	/** diff --git a/src/crepe/api/GameObject.cpp b/src/crepe/api/GameObject.cpp index 6c1de12..9ef4682 100644 --- a/src/crepe/api/GameObject.cpp +++ b/src/crepe/api/GameObject.cpp @@ -31,8 +31,8 @@ void GameObject::set_parent(const GameObject & parent) {  	parent_metadata.at(0).get().children.push_back(this->id);  } -void GameObject::set_persistent() { +void GameObject::set_persistent(bool persistent) {  	ComponentManager & mgr = this->component_manager; -	mgr.set_persistent(this->id); +	mgr.set_persistent(this->id, persistent);  } diff --git a/src/crepe/api/GameObject.h b/src/crepe/api/GameObject.h index a30dce3..4cd2bc0 100644 --- a/src/crepe/api/GameObject.h +++ b/src/crepe/api/GameObject.h @@ -63,8 +63,10 @@ public:  	 *  	 * 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(); +	void set_persistent(bool persistent = true);  public:  	//! The id of the GameObject  |