* 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
This commit is contained in:
Justin Clarke Casey
2008-01-16 18:35:34 +00:00
parent 795a339af5
commit 57519b6dba
10 changed files with 292 additions and 164 deletions

View File

@@ -609,15 +609,19 @@ namespace OpenSim.Region.Environment.Scenes
SetPartAsNonRoot(newPart);
}
public void GenerateNewIDs()
/// <summary>
/// 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.
/// </summary>
public void ResetIDs()
{
List<SceneObjectPart> partsList = new List<SceneObjectPart>(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);
}
}