private void CMB_aircraft_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (aircrafts.ContainsKey(CMB_aircraft.Text))
            {
                aircraftinfo aircraft = aircrafts[CMB_aircraft.Text];

                NUM_maxspd.Value = (decimal)aircraft.maxvel;
                NUM_minspd.Value = (decimal)aircraft.minvel;

                TBAR_zoom.Minimum = (int)aircraft.minalt;
                TBAR_zoom.Maximum = (int)aircraft.maxalt;
            }

            doCalc();
        }
        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);
                }
            }
        }
Exemplo n.º 3
0
        private void xmlaircraft(string filename = "aircraft.xml")
        {
            try
            {
                using (XmlTextReader xmlreader = new XmlTextReader(Path.GetDirectoryName(Application.ExecutablePath) + Path.DirectorySeparatorChar + 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:
                                    if (xmlreader.Name == "") // line feeds
                                        break;
                                    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);
            }
        }