private void WriteNewSoundValues() { try { XDocument xmlFile = XDocument.Load(strPath + strCarSetupPath); var query = from VT in xmlFile.Elements("CarSetup").Elements("Cars").Elements("Car") select VT; foreach (XElement Cars in query) { if (Cars.Attribute("name").Value.ToString() == lblCARS.Text) { //Cars.ReplaceWith(txbProba.Text); //txbProba.Text = Cars.ToString(); var SplitMech = Cars.Element("SplitMech"); var VolumeTrims = Cars.Element("VolumeTrims"); var Dump = Cars.Element("Turbo").Element("Dump"); var EngineBay = Cars.Element("Offsets").Element("EngineBay"); var Exhaust = Cars.Element("Offsets").Element("Exhaust"); var GearBox = Cars.Element("Offsets").Element("GearBox"); var Cockpit = Cars.Element("Offsets").Element("Cockpit"); //txbProba.Text = SplitMech.ToString(); //txbProba.Text += VolumeTrims.ToString(); // change to new values SplitMech.Attribute("DetVol").Value = nudDetVol.Value.ToString(); VolumeTrims.Attribute("gear").Value = nudGear.Value.ToString(); VolumeTrims.Attribute("engine").Value = nudEngine.Value.ToString(); VolumeTrims.Attribute("exhaust").Value = nudExhaust.Value.ToString(); // resolves error with CTI car, Codemasters error !?!?! if (VolumeTrims.ToString().Contains("WWhineSpeedTrim")) { VolumeTrims.Attribute("WWhineSpeedTrim").Value = nudWhineSpeedTrim.Value.ToString(); } else { VolumeTrims.Attribute("WhineSpeedTrim").Value = nudWhineSpeedTrim.Value.ToString(); } VolumeTrims.Attribute("WhineRPMTrim").Value = nudWhineRPMTrim.Value.ToString(); Dump.Attribute("volume").Value = nudDump.Value.ToString(); EngineBay.Attribute("z").Value = nudEngineBay.Value.ToString(); // <SplitMech Whine="mec_gearwhn10" RPM="mec_gearwhn10" Clunk="mec_gearchang09" Exhaust="mec_exhdeton07" DetIndex="7" DetPitch="0.9" DetOnUpShift="false" DetOnLimiter="false" DetVol="-48" StartStall="mec_strtstp_mer" /> // <VolumeTrims gear="-48" engine="-48" exhaust="-48" WhineSpeedTrim="0.0" WhineRPMTrim="0.0" /> } } xmlFile.Save(strPath + strCarSetupPath); } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void comboBoxCars_SelectedValueChanged(object sender, EventArgs e) { try { CarsKeyValuePair kvs = (CarsKeyValuePair)comboBoxCars.SelectedItem; string s = kvs.Key.ToString(); lblCARS.Text = s; XDocument xmlFile = XDocument.Load(strPath + strCarSetupPath); var query = from VT in xmlFile.Elements("CarSetup").Elements("Cars").Elements("Car") select VT; foreach (XElement Cars in query) { if (Cars.Attribute("name").Value.ToString() == s) { txbProba.Text = Cars.ToString(); var SplitMech = Cars.Element("SplitMech"); var VolumeTrims = Cars.Element("VolumeTrims"); var Dump = Cars.Element("Turbo").Element("Dump"); var EngineBay = Cars.Element("Offsets").Element("EngineBay"); var Exhaust = Cars.Element("Offsets").Element("Exhaust"); var GearBox = Cars.Element("Offsets").Element("GearBox"); var Cockpit = Cars.Element("Offsets").Element("Cockpit"); //txbProba.Text = SplitMech.ToString(); //txbProba.Text += VolumeTrims.ToString(); nudDetVol.Value = Convert.ToDecimal(SplitMech.Attribute("DetVol").Value); nudGear.Value = Convert.ToDecimal(VolumeTrims.Attribute("gear").Value); nudEngine.Value = Convert.ToDecimal(VolumeTrims.Attribute("engine").Value); int i = (int)Convert.ToDecimal(VolumeTrims.Attribute("engine").Value); tbEngineVolume.Value = i; nudExhaust.Value = Convert.ToDecimal(VolumeTrims.Attribute("exhaust").Value); nudWhineSpeedTrim.Value = Convert.ToDecimal(VolumeTrims.Attribute("WhineSpeedTrim").Value); nudWhineRPMTrim.Value = Convert.ToDecimal(VolumeTrims.Attribute("WhineRPMTrim").Value); nudDump.Value = Convert.ToDecimal(Dump.Attribute("volume").Value); nudEngineBay.Value = Convert.ToDecimal(EngineBay.Attribute("z").Value); // <SplitMech Whine="mec_gearwhn10" RPM="mec_gearwhn10" Clunk="mec_gearchang09" Exhaust="mec_exhdeton07" DetIndex="7" DetPitch="0.9" DetOnUpShift="false" DetOnLimiter="false" DetVol="-48" StartStall="mec_strtstp_mer" /> // <VolumeTrims gear="-48" engine="-48" exhaust="-48" WhineSpeedTrim="0.0" WhineRPMTrim="0.0" /> } } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "", MessageBoxButtons.OK, MessageBoxIcon.Error); } }