return index < currentSize;
}
+ bool isAlive(std::size_t index) const
+ {
+ return std::get<bool>(entities.at(index));
+ }
+
const EntitiesTupleType& getEntityInfo(std::size_t index) const
{
return entities.at(index);
template <typename Component, typename... Args>
void addComponent(std::size_t entityID, Args&&... args)
{
- if(!hasEntity(entityID))
+ if(!hasEntity(entityID) || !isAlive(entityID))
{
return;
}
template <typename Component>
void removeComponent(std::size_t entityID)
{
- if(!hasEntity(entityID))
+ if(!hasEntity(entityID) || !isAlive(entityID))
{
return;
}
template <typename Tag>
void addTag(std::size_t entityID)
{
- if(!hasEntity(entityID))
+ if(!hasEntity(entityID) || !isAlive(entityID))
{
return;
}
template <typename Tag>
void removeTag(std::size_t entityID)
{
- if(!hasEntity(entityID))
+ if(!hasEntity(entityID) || !isAlive(entityID))
{
return;
}