From 0f579d7241ee54437215bfb4f3f7ac630bcff7ea Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Mon, 14 Mar 2016 18:25:38 +0900 Subject: [PATCH] Minor fixes/changes --- src/EC/Manager.hpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/EC/Manager.hpp b/src/EC/Manager.hpp index a8edd09..1de8b58 100644 --- a/src/EC/Manager.hpp +++ b/src/EC/Manager.hpp @@ -87,6 +87,11 @@ namespace EC return index < currentSize; } + bool isAlive(std::size_t index) const + { + return std::get(entities.at(index)); + } + const EntitiesTupleType& getEntityInfo(std::size_t index) const { return entities.at(index); @@ -158,7 +163,7 @@ namespace EC template void addComponent(std::size_t entityID, Args&&... args) { - if(!hasEntity(entityID)) + if(!hasEntity(entityID) || !isAlive(entityID)) { return; } @@ -172,7 +177,7 @@ namespace EC template void removeComponent(std::size_t entityID) { - if(!hasEntity(entityID)) + if(!hasEntity(entityID) || !isAlive(entityID)) { return; } @@ -183,7 +188,7 @@ namespace EC template void addTag(std::size_t entityID) { - if(!hasEntity(entityID)) + if(!hasEntity(entityID) || !isAlive(entityID)) { return; } @@ -194,7 +199,7 @@ namespace EC template void removeTag(std::size_t entityID) { - if(!hasEntity(entityID)) + if(!hasEntity(entityID) || !isAlive(entityID)) { return; }