本文整理汇总了C#中ISceneEntity.AttachToScene方法的典型用法代码示例。如果您正苦于以下问题:C# ISceneEntity.AttachToScene方法的具体用法?C# ISceneEntity.AttachToScene怎么用?C# ISceneEntity.AttachToScene使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISceneEntity
的用法示例。
在下文中一共展示了ISceneEntity.AttachToScene方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddPrimToScene
/// <summary>
/// Add the Entity to the Scene and back it up
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
public bool AddPrimToScene(ISceneEntity 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);
}
示例2: RestorePrimToScene
/// <summary>
/// Add the Entity to the Scene and back it up, but do NOT reset its ID's
/// </summary>
/// <param name="entity"></param>
/// <param name="force"></param>
/// <returns></returns>
public bool RestorePrimToScene(ISceneEntity entity, bool force)
{
List<ISceneChildEntity> children = entity.ChildrenEntities();
//Sort so that we rebuild in the same order and the root being first
children.Sort(LinkSetSorter);
entity.ClearChildren();
foreach (ISceneChildEntity child in children)
{
if (child.LocalId == 0)
child.LocalId = AllocateLocalId();
if (((SceneObjectPart) child).PhysActor != null)
{
((SceneObjectPart) child).PhysActor.LocalID = child.LocalId;
((SceneObjectPart) child).PhysActor.UUID = child.UUID;
}
child.Flags &= ~PrimFlags.Scripted;
child.TrimPermissions();
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
bool success = AddEntity(entity, false);
if (force && !success)
{
IBackupModule backup = m_parentScene.RequestModuleInterface<IBackupModule>();
backup.DeleteSceneObjects(new ISceneEntity[1] {entity}, false, true);
return RestorePrimToScene(entity, false);
}
return success;
}
示例3: RestorePrimToScene
/// <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(ISceneEntity entity)
{
List<ISceneChildEntity> children = entity.ChildrenEntities ();
//Sort so that we rebuild in the same order and the root being first
children.Sort(LinkSetSorter);
entity.ClearChildren();
foreach (ISceneChildEntity 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);
}