aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2018-05-20 11:18:13 +0100
committerYann Herklotz <ymherklotz@gmail.com>2018-05-20 11:18:13 +0100
commit97448eb557d23138e6a460f496d981ced56b59c9 (patch)
treebd5a7ce1930cfd067731aaac0e53223a0df75dc9
parente334f3710bd34d47b957a2917afa32f37109fb39 (diff)
downloadYAGE-97448eb557d23138e6a460f496d981ced56b59c9.tar.gz
YAGE-97448eb557d23138e6a460f496d981ced56b59c9.zip
Adding deleting of an entity
-rw-r--r--yage/entity/entitymanager.cpp11
-rw-r--r--yage/entity/entitymanager.h2
2 files changed, 12 insertions, 1 deletions
diff --git a/yage/entity/entitymanager.cpp b/yage/entity/entitymanager.cpp
index 205eec30..c37bc620 100644
--- a/yage/entity/entitymanager.cpp
+++ b/yage/entity/entitymanager.cpp
@@ -8,6 +8,8 @@
#include "entitymanager.h"
+#include <algorithm>
+
namespace yage
{
@@ -25,4 +27,13 @@ Entity EntityManager::createEntity()
return entity;
}
+void EntityManager::deleteEntity(Entity entity)
+{
+ auto index = std::find_if(entities_.begin(), entities_.end(),
+ [&](Entity &value) { return value == entity; });
+ if (index != entities_.end()) {
+ entities_.erase(index);
+ }
+}
+
} // namespace yage
diff --git a/yage/entity/entitymanager.h b/yage/entity/entitymanager.h
index 5316c955..97f7c6f9 100644
--- a/yage/entity/entitymanager.h
+++ b/yage/entity/entitymanager.h
@@ -66,7 +66,7 @@ private:
/**
* The space that the entity manager belongs to.
*/
- Space *space_;
+ Space *space_ = nullptr;
/**
* The entities in the current space.