Пример #1
0
        /// <summary>
        /// Add the Entity to the Scene and back it up, but do NOT reset its ID's
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public bool RestorePrimToScene(EntityBase entity)
        {
            List<ISceneEntity> children = entity.ChildrenEntities();
            //Sort so that we rebuild in the same order and the root being first
            children.Sort(linkSetSorter);

            entity.ClearChildren();

            foreach (ISceneEntity child in children)
            {
                if (((SceneObjectPart)child).PhysActor != null)
                    ((SceneObjectPart)child).PhysActor.LocalID = child.LocalId;
                if (child.LocalId == 0)
                    child.LocalId = AllocateLocalId();
                entity.AddChild(child, child.LinkNum);
            }
            //Tell the entity that they are being added to a scene
            entity.AttachToScene(m_parentScene);
            //Now save the entity that we have 
            return AddEntity(entity, false);
        }
Пример #2
0
 /// <summary>
 /// Add the Entity to the Scene and back it up
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 public bool AddPrimToScene(EntityBase entity)
 {
     //Reset the entity IDs
     ResetEntityIDs(entity);
     //Force the prim to backup now that it has been added
     entity.ForcePersistence();
     //Tell the entity that they are being added to a scene
     entity.AttachToScene(m_parentScene);
     //Now save the entity that we have 
     return AddEntity(entity, false);
 }