public bool AddChild(ISceneChildEntity child, int linkNum)
{
lock (m_partsLock)
{
if (child is SceneObjectPart)
{
SceneObjectPart part = (SceneObjectPart) child;
//Root part is first
if (m_partsList.Count == 0)
{
m_rootPart = part;
}
//Set the parent prim
part.SetParent(this);
if (m_rootPart.LocalId != 0 && !part.IsRoot)
part.SetParentLocalId(m_rootPart.LocalId);
else
part.SetParentLocalId(0);
//Fix the link num
part.LinkNum = linkNum;
if (!m_parts.ContainsKey(child.UUID))
{
m_parts.Add(child.UUID, part);
m_partsList.Add(part);
m_ValidgrpOOB = false;
}
return true;
}
}
return false;
}