aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Serialization/External
diff options
context:
space:
mode:
authorOren Hurvitz2012-05-03 19:38:35 +0300
committerJustin Clark-Casey (justincc)2012-05-14 19:59:45 +0100
commit52a32878a9573681e3b56d0151c4a0903719eadf (patch)
treea9c5df6d7a47b56e0acac6a9bd3b3bdee1e257c5 /OpenSim/Framework/Serialization/External
parentset executable bit for Ionic.Zip.dll for running OpenSimulator under cygwin (diff)
downloadopensim-SC_OLD-52a32878a9573681e3b56d0151c4a0903719eadf.zip
opensim-SC_OLD-52a32878a9573681e3b56d0151c4a0903719eadf.tar.gz
opensim-SC_OLD-52a32878a9573681e3b56d0151c4a0903719eadf.tar.bz2
opensim-SC_OLD-52a32878a9573681e3b56d0151c4a0903719eadf.tar.xz
Save the Telehub and its Spawn Points in the OAR
Diffstat (limited to 'OpenSim/Framework/Serialization/External')
-rw-r--r--OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs37
1 files changed, 35 insertions, 2 deletions
diff --git a/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs b/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs
index 931898c..f18435d 100644
--- a/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs
+++ b/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs
@@ -30,6 +30,8 @@ using System.Text;
30using System.Xml; 30using System.Xml;
31using OpenMetaverse; 31using OpenMetaverse;
32using OpenSim.Framework; 32using OpenSim.Framework;
33using log4net;
34using System.Reflection;
33 35
34namespace OpenSim.Framework.Serialization.External 36namespace OpenSim.Framework.Serialization.External
35{ 37{
@@ -187,7 +189,29 @@ namespace OpenSim.Framework.Serialization.External
187 break; 189 break;
188 } 190 }
189 } 191 }
190 192
193 xtr.ReadEndElement();
194
195 if (xtr.IsStartElement("Telehub"))
196 {
197 xtr.ReadStartElement("Telehub");
198
199 while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
200 {
201 switch (xtr.Name)
202 {
203 case "TelehubObject":
204 settings.TelehubObject = UUID.Parse(xtr.ReadElementContentAsString());
205 break;
206 case "SpawnPoint":
207 string str = xtr.ReadElementContentAsString();
208 SpawnPoint sp = SpawnPoint.Parse(str);
209 settings.AddSpawnPoint(sp);
210 break;
211 }
212 }
213 }
214
191 xtr.Close(); 215 xtr.Close();
192 sr.Close(); 216 sr.Close();
193 217
@@ -243,7 +267,16 @@ namespace OpenSim.Framework.Serialization.External
243 xtw.WriteElementString("SunPosition", settings.SunPosition.ToString()); 267 xtw.WriteElementString("SunPosition", settings.SunPosition.ToString());
244 // Note: 'SunVector' isn't saved because this value is owned by the Sun Module, which 268 // Note: 'SunVector' isn't saved because this value is owned by the Sun Module, which
245 // calculates it automatically according to the date and other factors. 269 // calculates it automatically according to the date and other factors.
246 xtw.WriteEndElement(); 270 xtw.WriteEndElement();
271
272 xtw.WriteStartElement("Telehub");
273 if (settings.TelehubObject != UUID.Zero)
274 {
275 xtw.WriteElementString("TelehubObject", settings.TelehubObject.ToString());
276 foreach (SpawnPoint sp in settings.SpawnPoints())
277 xtw.WriteElementString("SpawnPoint", sp.ToString());
278 }
279 xtw.WriteEndElement();
247 280
248 xtw.WriteEndElement(); 281 xtw.WriteEndElement();
249 282