From adc3d4dbff2361da2ba9a8e0e0207546d474e29a Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sun, 13 Oct 2013 18:26:33 +0000 Subject: Added method to find an entity in the registry by pointer. --- src/core/entity.cc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/core/entity.cc') diff --git a/src/core/entity.cc b/src/core/entity.cc index 8ea0db5..63fa4e8 100644 --- a/src/core/entity.cc +++ b/src/core/entity.cc @@ -62,12 +62,24 @@ void Entity::add(Entity *ent, unsigned int id) Entity *Entity::find(unsigned int id) { Registry::iterator it = entity_registry.find(id); - if (it == entity_registry.end()) + if (it == entity_registry.end()) { return 0; - else + } else { return (*it).second; + } +} + +Entity *Entity::find(Entity * entity) +{ + for (Registry::iterator it = entity_registry.begin(); it != entity_registry.end(); ++it) { + if ((*it).second == entity) { + return entity; + } + } + return 0; } + void Entity::erase(unsigned int id) { Registry::iterator it = entity_registry.find(id); -- cgit v1.2.3