Added SetParent to World

This commit is contained in:
2015-12-16 12:05:31 +01:00
parent 322aedaf72
commit bd6adcc157
2 changed files with 19 additions and 0 deletions
+16
View File
@@ -99,6 +99,22 @@ EntityID World::GetParent(EntityID entity)
return m_EntityParents.at(entity);
}
void World::SetParent(EntityID entity, EntityID parent)
{
EntityID lastParent = m_EntityParents.at(entity);
auto parentChildren = m_EntityChildren.equal_range(lastParent);
for (auto it = parentChildren.first; it != parentChildren.second; it++) {
if (it->second == entity) {
m_EntityChildren.erase(it);
break;
}
}
m_EntityParents[entity] = parent;
m_EntityChildren.insert(std::make_pair(parent, entity));
}
EntityID World::generateEntityID()
{
// TODO: Make EntityID generation smarter