still not good, add more spaghetti

This commit is contained in:
UbitUmarov
2020-06-22 18:16:48 +01:00
parent 7b3ac662dc
commit f3eb71113e
3 changed files with 39 additions and 20 deletions

View File

@@ -194,36 +194,46 @@ namespace OpenSim.Framework.Serialization.External
if (xtr.IsStartElement("Telehub"))
{
xtr.ReadStartElement("Telehub");
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
if (xtr.IsEmptyElement)
xtr.Read();
else
{
switch (xtr.Name)
xtr.ReadStartElement("Telehub");
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
{
case "TelehubObject":
settings.TelehubObject = UUID.Parse(xtr.ReadElementContentAsString());
break;
case "SpawnPoint":
string str = xtr.ReadElementContentAsString();
SpawnPoint sp = SpawnPoint.Parse(str);
settings.AddSpawnPoint(sp);
break;
switch (xtr.Name)
{
case "TelehubObject":
settings.TelehubObject = UUID.Parse(xtr.ReadElementContentAsString());
break;
case "SpawnPoint":
string str = xtr.ReadElementContentAsString();
SpawnPoint sp = SpawnPoint.Parse(str);
settings.AddSpawnPoint(sp);
break;
}
}
xtr.ReadEndElement();
}
}
if (xtr.IsStartElement("Environment"))
{
xtr.ReadStartElement("Environment");
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
if (xtr.IsEmptyElement)
xtr.Read();
else
{
switch (xtr.Name)
xtr.ReadStartElement("Environment");
while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement)
{
case "data":
regionEnv = ViewerEnvironment.FromOSDString(xtr.ReadElementContentAsString());
break;
switch (xtr.Name)
{
case "data":
regionEnv = ViewerEnvironment.FromOSDString(xtr.ReadElementContentAsString());
break;
}
}
xtr.ReadEndElement();
}
}