1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Allow ObjDefManager instances to be cloned

This commit is contained in:
sfan5 2020-04-09 23:40:12 +02:00 committed by Loïc Blot
parent d1c6cc72cc
commit 2062c80e21
13 changed files with 370 additions and 5 deletions

View file

@ -182,3 +182,22 @@ bool ObjDefManager::decodeHandle(ObjDefHandle handle, u32 *index,
*uid = get_bits(handle, 24, 7);
return true;
}
// Cloning
void ObjDef::cloneTo(ObjDef *def) const
{
def->index = index;
def->uid = uid;
def->handle = handle;
def->name = name;
}
void ObjDefManager::cloneTo(ObjDefManager *mgr) const
{
mgr->m_ndef = m_ndef;
mgr->m_objects.reserve(m_objects.size());
for (const auto &obj : m_objects)
mgr->m_objects.push_back(obj->clone());
mgr->m_objtype = m_objtype;
}