From 2681de366b22d1fc57d808c0cd98da0426a0379e Mon Sep 17 00:00:00 2001 From: MW Date: Mon, 22 Oct 2007 11:06:54 +0000 Subject: Made some changes to the load/save xml format, So that the old format can still be used, I have added new console commands of "load-xml2" and "save-xml2", if the old versions worked for you then please continue using them (at least for now). The new versions haven't been tested that much, so their format could be subject to change. --- .../Region/Environment/Scenes/SceneObjectGroup.cs | 33 ++++++++++++++++++++-- 1 file changed, 30 insertions(+), 3 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 1839051..bb2eadb 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs @@ -272,7 +272,6 @@ namespace OpenSim.Region.Environment.Scenes reader.Read(); reader.ReadStartElement("SceneObjectGroup"); - // reader.ReadStartElement("RootPart"); m_rootPart = SceneObjectPart.FromXml(reader); reader.Read(); @@ -286,8 +285,7 @@ namespace OpenSim.Region.Environment.Scenes if (reader.Name == "SceneObjectPart") { SceneObjectPart Part = SceneObjectPart.FromXml(reader); - AddPart(Part); - + AddPart(Part); } break; case XmlNodeType.EndElement: @@ -375,6 +373,35 @@ namespace OpenSim.Region.Environment.Scenes writer.WriteEndElement(); } + public string ToXmlString2() + { + using (StringWriter sw = new StringWriter()) + { + using (XmlTextWriter writer = new XmlTextWriter(sw)) + { + ToXml2(writer); + } + + return sw.ToString(); + } + } + + public void ToXml2(XmlTextWriter writer) + { + writer.WriteStartElement(String.Empty, "SceneObjectGroup", String.Empty); + m_rootPart.ToXml(writer); + writer.WriteStartElement(String.Empty, "OtherParts", String.Empty); + foreach (SceneObjectPart part in m_parts.Values) + { + if (part.UUID != m_rootPart.UUID) + { + part.ToXml(writer); + } + } + writer.WriteEndElement(); + writer.WriteEndElement(); + } + #region Copying /// -- cgit v1.1