diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2018-05-20 11:18:13 +0100 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2018-05-20 11:18:13 +0100 |
commit | 97448eb557d23138e6a460f496d981ced56b59c9 (patch) | |
tree | bd5a7ce1930cfd067731aaac0e53223a0df75dc9 | |
parent | e334f3710bd34d47b957a2917afa32f37109fb39 (diff) | |
download | YAGE-97448eb557d23138e6a460f496d981ced56b59c9.tar.gz YAGE-97448eb557d23138e6a460f496d981ced56b59c9.zip |
Adding deleting of an entity
-rw-r--r-- | yage/entity/entitymanager.cpp | 11 | ||||
-rw-r--r-- | yage/entity/entitymanager.h | 2 |
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. |