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