From 57519b6dba97d7e7a2de71af9d58c93b4750bde8 Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Wed, 16 Jan 2008 18:35:34 +0000
Subject: * Store task inventory when an object is taken into agent inventory *
This means that you can take an object from a region and rez it somewhere
else, with its inventory intact. * As for earlier, at this stage only scripts
can be placed in inventory * This isn't an efficient implementation, a better
one will probably need to come along soonish
---
OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
(limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
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
SetPartAsNonRoot(newPart);
}
-
- public void GenerateNewIDs()
+ ///
+ /// Reset the LLUUIDs for all the prims that make up this group.
+ ///
+ /// This is called by methods which want to add a new group to an existing scene, in order
+ /// to ensure that there are no clashes with groups already present.
+ ///
+ public void ResetIDs()
{
List partsList = new List(m_parts.Values);
m_parts.Clear();
foreach (SceneObjectPart part in partsList)
{
- part.UUID = LLUUID.Random();
- part.LinkNum = m_parts.Count;
+ part.ResetIDs(m_parts.Count);
m_parts.Add(part.UUID, part);
}
}
--
cgit v1.1