aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-12-17 16:11:03 +0000
committerJustin Clarke Casey2008-12-17 16:11:03 +0000
commitb4680f653dbc1c6f712898af79c4ea22bca3f678 (patch)
tree8482ca109db6d7e4b51221f0631c483a4a2d0fef /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
parent* Adding some locks to XEngine's m_PrimObjects which were prone to 'the colle... (diff)
downloadopensim-SC-b4680f653dbc1c6f712898af79c4ea22bca3f678.zip
opensim-SC-b4680f653dbc1c6f712898af79c4ea22bca3f678.tar.gz
opensim-SC-b4680f653dbc1c6f712898af79c4ea22bca3f678.tar.bz2
opensim-SC-b4680f653dbc1c6f712898af79c4ea22bca3f678.tar.xz
* Implement 'Save Object Back to My Inventory'. On the Linden client this is in the Tools menu available when editing an object
* This facility allows you to save changes to an object that you've rezzed into a region back into their original inventory item without having to take a copy of the rezzed object.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs13
1 files changed, 11 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index cc99929..5456282 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -401,16 +401,25 @@ namespace OpenSim.Region.Environment.Scenes
401 { 401 {
402 SetRootPart(part); 402 SetRootPart(part);
403 } 403 }
404
405 public SceneObjectGroup(string xmlData, bool isOriginalXmlFormat)
406 : this(UUID.Zero, xmlData, isOriginalXmlFormat)
407 {
408 }
404 409
405 /// <summary> 410 /// <summary>
406 /// Create an object using serialized data in OpenSim's original xml format. 411 /// Create an object using serialized data in OpenSim's original xml format.
407 /// </summary> 412 /// </summary>
413 /// <param name="fromUserInventoryItemID">
414 /// If applicable, the user inventory item id from which this object was rezzed. If not applicable then this
415 /// should be UUID.Zero
416 /// </param>
408 /// <param name="xmlData"></param> 417 /// <param name="xmlData"></param>
409 /// <param name="isOriginalXmlFormat"> 418 /// <param name="isOriginalXmlFormat">
410 /// This parameter only exists to separate the two different xml constructors. In the future, versions should 419 /// This parameter only exists to separate the two different xml constructors. In the future, versions should
411 /// be specified within the xml itself. 420 /// be specified within the xml itself.
412 /// </param> 421 /// </param>
413 public SceneObjectGroup(string xmlData, bool isOriginalXmlFormat) 422 public SceneObjectGroup(UUID fromUserInventoryItemID, string xmlData, bool isOriginalXmlFormat)
414 { 423 {
415 if (!isOriginalXmlFormat) 424 if (!isOriginalXmlFormat)
416 throw new Exception("This constructor must specify the xml is in OpenSim's original format"); 425 throw new Exception("This constructor must specify the xml is in OpenSim's original format");
@@ -430,7 +439,7 @@ namespace OpenSim.Region.Environment.Scenes
430 reader.Read(); 439 reader.Read();
431 reader.ReadStartElement("SceneObjectGroup"); 440 reader.ReadStartElement("SceneObjectGroup");
432 reader.ReadStartElement("RootPart"); 441 reader.ReadStartElement("RootPart");
433 SetRootPart(SceneObjectPart.FromXml(reader)); 442 SetRootPart(SceneObjectPart.FromXml(fromUserInventoryItemID, reader));
434 443
435 reader.ReadEndElement(); 444 reader.ReadEndElement();
436 445