From 97448eb557d23138e6a460f496d981ced56b59c9 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sun, 20 May 2018 11:18:13 +0100 Subject: Adding deleting of an entity --- yage/entity/entitymanager.cpp | 11 +++++++++++ yage/entity/entitymanager.h | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) 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 + 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. -- cgit