MissionPlanner.GridUIv2.xmlaircraft C# (CSharp) Method

xmlaircraft() private method

private xmlaircraft ( string filename = "aircraft.xml" ) : void
filename string
return void
        private void xmlaircraft(string filename = "aircraft.xml")
        {
            try
            {
                using (XmlTextReader xmlreader = new XmlTextReader(filename))
                {
                    while (xmlreader.Read())
                    {
                        xmlreader.MoveToElement();
                        try
                        {
                            switch (xmlreader.Name)
                            {
                                case "Vehicle":
                                    {
                                        aircraftinfo aircraft = new aircraftinfo();

                                        while (xmlreader.Read())
                                        {
                                            bool dobreak = false;
                                            xmlreader.MoveToElement();
                                            switch (xmlreader.Name)
                                            {
                                                case "name":
                                                    aircraft.name = xmlreader.ReadString();
                                                    break;
                                                case "turn_rad_m":
                                                    aircraft.turnrad = float.Parse(xmlreader.ReadString(), new System.Globalization.CultureInfo("en-US"));
                                                    break;
                                                case "min_alt_m":
                                                    aircraft.minalt = float.Parse(xmlreader.ReadString(), new System.Globalization.CultureInfo("en-US"));
                                                    break;
                                                case "max_alt_m":
                                                    aircraft.maxalt = float.Parse(xmlreader.ReadString(), new System.Globalization.CultureInfo("en-US"));
                                                    break;
                                                case "min_vel_ms":
                                                    aircraft.minvel = float.Parse(xmlreader.ReadString(), new System.Globalization.CultureInfo("en-US"));
                                                    break;
                                                case "max_vel_ms":
                                                    aircraft.maxvel = float.Parse(xmlreader.ReadString(), new System.Globalization.CultureInfo("en-US"));
                                                    break;
                                                case "Vehicle":
                                                    aircrafts[aircraft.name] = aircraft;
                                                    dobreak = true;
                                                    break;
                                            }
                                            if (dobreak)
                                                break;
                                        }
                                        string temp = xmlreader.ReadString();
                                    }
                                    break;
                                case "xml":
                                    break;
                                default:
                                    break;
                            }
                        }
                        catch (Exception ee) { Console.WriteLine(ee.Message); } // silent fail on bad entry
                    }
                }
            }
            catch (Exception ex) { Console.WriteLine("Bad Aircraft File: " + ex.ToString()); } // bad config file

            // populate list
            foreach (var aircraft in aircrafts.Values)
            {
                if (!CMB_aircraft.Items.Contains(aircraft.name))
                    CMB_aircraft.Items.Add(aircraft.name);
            }
        }