public void ReadXml(XmlReader reader) { string xml = reader.ReadOuterXml(); reader = XmlReader.Create(new StringReader(xml)); XmlReader reader2; while (!reader.EOF) { if (reader.NodeType == XmlNodeType.Element) { if (reader.LocalName == "Name") { reader.Read(); Name = reader.ReadContentAsString(); } else if (reader.LocalName == "ImagePath") { reader.Read(); ImagePath = reader.ReadContentAsString(); } else if (reader.LocalName == "Pasabilities") { xml = reader.ReadInnerXml(); reader2 = XmlReader.Create(new StringReader(xml)); XmlSerializer serializer = new XmlSerializer(typeof(bool[])); bool[] data = (bool[])serializer.Deserialize(reader2); Pasabilities = DataConversion.ExpandArray3D <bool>(data, 8, 8); } else if (reader.LocalName == "Priorities") { xml = reader.ReadInnerXml(); reader2 = XmlReader.Create(new StringReader(xml)); XmlSerializer serializer = new XmlSerializer(typeof(int[])); int[] data = (int[])serializer.Deserialize(reader2); Priorities = DataConversion.ExpandArray2D <int>(data, 8); } else if (reader.LocalName == "TerrainTags") { xml = reader.ReadInnerXml(); reader2 = XmlReader.Create(new StringReader(xml)); XmlSerializer serializer = new XmlSerializer(typeof(int[])); int[] data = (int[])serializer.Deserialize(reader2); TerrainTags = DataConversion.ExpandArray2D <int>(data, 8); } else if (reader.LocalName == "BushFlags") { xml = reader.ReadInnerXml(); reader2 = XmlReader.Create(new StringReader(xml)); XmlSerializer serializer = new XmlSerializer(typeof(bool[])); bool[] data = (bool[])serializer.Deserialize(reader2); BushFlags = DataConversion.ExpandArray2D <bool>(data, 8); } else if (reader.LocalName == "CounterFlags") { xml = reader.ReadInnerXml(); reader2 = XmlReader.Create(new StringReader(xml)); XmlSerializer serializer = new XmlSerializer(typeof(bool[])); bool[] data = (bool[])serializer.Deserialize(reader2); CounterFlags = DataConversion.ExpandArray2D <bool>(data, 8); } else if (reader.LocalName == "ReflectionFlags") { xml = reader.ReadInnerXml(); reader2 = XmlReader.Create(new StringReader(xml)); XmlSerializer serializer = new XmlSerializer(typeof(bool[])); bool[] data = (bool[])serializer.Deserialize(reader2); ReflectionFlags = DataConversion.ExpandArray2D <bool>(data, 8); } else if (reader.LocalName == "BridgeFlags") { xml = reader.ReadInnerXml(); reader2 = XmlReader.Create(new StringReader(xml)); XmlSerializer serializer = new XmlSerializer(typeof(bool[])); bool[] data = (bool[])serializer.Deserialize(reader2); BridgeFlags = DataConversion.ExpandArray2D <bool>(data, 8); } else if (reader.LocalName == "AutoTiles") { xml = reader.ReadInnerXml(); reader2 = XmlReader.Create(new StringReader(xml)); XmlSerializer serializer = new XmlSerializer(typeof(string[])); string[] data = (string[])serializer.Deserialize(reader2); AutoTiles = data; } else if (reader.LocalName == "AutoTileTimers") { xml = reader.ReadInnerXml(); reader2 = XmlReader.Create(new StringReader(xml)); XmlSerializer serializer = new XmlSerializer(typeof(float[])); float[] data = (float[])serializer.Deserialize(reader2); AutoTileTimers = data; } else { reader.Read(); } } else { reader.Read(); } } }