本文整理汇总了C#中ISceneEntity.AddChild方法的典型用法代码示例。如果您正苦于以下问题:C# ISceneEntity.AddChild方法的具体用法?C# ISceneEntity.AddChild怎么用?C# ISceneEntity.AddChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISceneEntity
的用法示例。
在下文中一共展示了ISceneEntity.AddChild方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ResetEntityIDs
/// <summary>
/// Reset all of the UUID's, localID's, etc in this group (includes children)
/// </summary>
/// <param name="entity"></param>
private void ResetEntityIDs(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)
{
UUID oldID = child.UUID;
child.ResetEntityIDs();
entity.AddChild(child, child.LinkNum);
}
//This clears the xml file, which will need rebuilt now that we have changed the UUIDs
entity.HasGroupChanged = true;
foreach (ISceneChildEntity child in children)
{
if (!child.IsRoot)
{
child.SetParentLocalId(entity.RootChild.LocalId);
}
}
}
示例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: ResetEntityIDs
/// <summary>
/// Reset all of the UUID's, localID's, etc in this group (includes children)
/// </summary>
/// <param name="entity"></param>
private void ResetEntityIDs (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)
{
child.ResetEntityIDs();
entity.AddChild(child, child.LinkNum);
}
}
示例4: 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);
}
示例5: ResetEntityIDs
/// <summary>
/// Reset all of the UUID's, localID's, etc in this group (includes children)
/// </summary>
/// <param name="entity"></param>
private void ResetEntityIDs (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();
IComponentManager manager = m_parentScene.RequestModuleInterface<IComponentManager> ();
foreach (ISceneChildEntity child in children)
{
UUID oldID = child.UUID;
child.ResetEntityIDs();
entity.AddChild (child, child.LinkNum);
if (manager != null)
manager.ResetComponentIDsToNewObject (oldID, child);
}
//This clears the xml file, which will need rebuilt now that we have changed the UUIDs
entity.HasGroupChanged = true;
foreach (ISceneChildEntity child in children)
{
if(!child.IsRoot)
{
child.SetParentLocalId (entity.RootChild.LocalId);
}
}
}
示例6: ResetEntityIDs
/// <summary>
/// Reset all of the UUID's, localID's, etc in this group (includes children)
/// </summary>
/// <param name="entity"></param>
private void ResetEntityIDs (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();
IComponentManager manager = m_parentScene.RequestModuleInterface<IComponentManager> ();
foreach (ISceneChildEntity child in children)
{
UUID oldID = child.UUID;
child.ResetEntityIDs();
entity.AddChild (child, child.LinkNum);
if (manager != null)
manager.ResetComponentIDsToNewObject (oldID, child);
}
}