public void ReadXml(XmlReader reader) { Number = Convert.ToByte(reader.GetAttribute("num")); Progress = Convert.ToByte(reader.GetAttribute("prog")); reader.Read(); Move = TypeSerializer <Movement> .FromXml(reader); var Columns = Convert.ToInt32(reader.GetAttribute("columns")); var Rows = Convert.ToInt32(reader.GetAttribute("rows")); Field = Field.Create(Rows, Columns); Field.ReadXml(reader); reader.Read(); reader.Read(); reader.ReadToDescendant("Step"); while (reader.MoveToContent() == XmlNodeType.Element && reader.LocalName == "Step") { Variants.Add(TypeSerializer <Step> .FromXml(reader)); reader.Read(); } }