Editor.MainWindow.ReadLevel C# (CSharp) Method

ReadLevel() private method

private ReadLevel ( ) : void
return void
        private void ReadLevel()
        {
            this.updating = true;

             var d = new OpenFileDialog();
             if (d.ShowDialog() == DialogResult.OK)
             {
            this.ClearLevel();

            var level = new Level();
            level.SetFileName(d.FileName);
            this.lstLevel.Items.Add(level);

            XmlDocument xml = new XmlDocument();
            xml.Load(d.FileName);
            level.Read(xml["level"]);
            foreach (XmlElement el in xml["level"]["actors"])
            {
               Actor actor = new Actor();
               actor.Read(el);
            }
            foreach (XmlElement el in xml["level"]["physics"])
            {
               Physic p;
               if (el.Name == "circle")
                  p = new Circle();
               else if (el.Name == "polygon")
                  p = new Polygon();
               else
               {
                  MessageBox.Show(string.Format("unsupported physic '{0}'. Element skipped.", el.Name));
                  continue;
               }
               p.Read(el);
            }
             }

             this.updating = false;
             this.UpdateControls();
             this.GetCurrent().SelectedItem = this.GetCurrent().Items[0];
        }