aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs12
1 files changed, 8 insertions, 4 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 2e0b916..0b7f2a4 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -609,15 +609,19 @@ namespace OpenSim.Region.Environment.Scenes
609 SetPartAsNonRoot(newPart); 609 SetPartAsNonRoot(newPart);
610 } 610 }
611 611
612 612 /// <summary>
613 public void GenerateNewIDs() 613 /// Reset the LLUUIDs for all the prims that make up this group.
614 ///
615 /// This is called by methods which want to add a new group to an existing scene, in order
616 /// to ensure that there are no clashes with groups already present.
617 /// </summary>
618 public void ResetIDs()
614 { 619 {
615 List<SceneObjectPart> partsList = new List<SceneObjectPart>(m_parts.Values); 620 List<SceneObjectPart> partsList = new List<SceneObjectPart>(m_parts.Values);
616 m_parts.Clear(); 621 m_parts.Clear();
617 foreach (SceneObjectPart part in partsList) 622 foreach (SceneObjectPart part in partsList)
618 { 623 {
619 part.UUID = LLUUID.Random(); 624 part.ResetIDs(m_parts.Count);
620 part.LinkNum = m_parts.Count;
621 m_parts.Add(part.UUID, part); 625 m_parts.Add(part.UUID, part);
622 } 626 }
623 } 627 }