Added KnowsEntity function to ComponentPool to query whether an entity has a component attached
This commit is contained in:
@@ -54,6 +54,8 @@ public:
|
|||||||
ComponentWrapper Allocate(EntityID entity);
|
ComponentWrapper Allocate(EntityID entity);
|
||||||
// Get the component belonging to a specific entity
|
// Get the component belonging to a specific entity
|
||||||
ComponentWrapper GetByEntity(EntityID ent);
|
ComponentWrapper GetByEntity(EntityID ent);
|
||||||
|
// Returns true if the pool contains a component for the specified entity
|
||||||
|
bool KnowsEntity(EntityID ent);
|
||||||
// Delete a component and free its memory
|
// Delete a component and free its memory
|
||||||
void Delete(ComponentWrapper& wrapper);
|
void Delete(ComponentWrapper& wrapper);
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ ComponentWrapper ComponentPool::GetByEntity(EntityID ent)
|
|||||||
return ComponentWrapper(m_ComponentInfo, m_EntityToComponent.at(ent));
|
return ComponentWrapper(m_ComponentInfo, m_EntityToComponent.at(ent));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool ComponentPool::KnowsEntity(EntityID ent)
|
||||||
|
{
|
||||||
|
return m_EntityToComponent.find(ent) != m_EntityToComponent.end();
|
||||||
|
}
|
||||||
|
|
||||||
void ComponentPool::Delete(ComponentWrapper& wrapper)
|
void ComponentPool::Delete(ComponentWrapper& wrapper)
|
||||||
{
|
{
|
||||||
m_EntityToComponent.erase(wrapper.EntityID);
|
m_EntityToComponent.erase(wrapper.EntityID);
|
||||||
|
|||||||
Reference in New Issue
Block a user