//Buttons //Main public void buttonTrailerRepair_Click(object sender, EventArgs e) { string[] PartList = { "trailerdata", "body", "chassis", "tire" }; string trailerNameless = ""; trailerNameless = comboBoxUserTrailerCompanyTrailers.SelectedValue.ToString(); StartTrailerParts: foreach (string tempPart in PartList) { foreach (UserCompanyTruckDataPart temp in UserTrailerDictionary[trailerNameless].Parts.FindAll(x => x.PartType == tempPart)) { string partNameless = temp.PartNameless; int i = 0; foreach (string temp2 in temp.PartData) { if (temp2.StartsWith(" wear:")) { UserTrailerDictionary[trailerNameless].Parts.Find(x => x.PartNameless == partNameless).PartData[i] = " wear: 0"; break; } else if (temp2.StartsWith(" cargo_damage:")) { UserTrailerDictionary[trailerNameless].Parts.Find(x => x.PartType == "trailerdata").PartData[i] = " cargo_damage: 0"; break; } i++; } } } UserCompanyTruckDataPart slavetrailer = UserTrailerDictionary[trailerNameless].Parts.Find(x => x.PartType == "slavetrailer"); if (slavetrailer != null) { trailerNameless = slavetrailer.PartNameless; goto StartTrailerParts; } for (byte i = 0; i < 5; i++) { UpdateTrailerPanelProgressBar(i); } CheckTrailerRepair(); }
public void buttonTrailerElRepair_Click(object sender, EventArgs e) { Button curbtn = sender as Button; int bi = Convert.ToByte(curbtn.Name.Substring(21)); string[] PartList = { "trailerdata", "body", "chassis", "tire" }; string trailerNameless = ""; trailerNameless = comboBoxUserTrailerCompanyTrailers.SelectedValue.ToString(); StartTrailerParts: foreach (UserCompanyTruckDataPart temp in UserTrailerDictionary[trailerNameless].Parts.FindAll(x => x.PartType == PartList[bi])) { string partNameless = temp.PartNameless; int i = 0; foreach (string temp2 in temp.PartData) { if (temp2.StartsWith(" wear:")) { UserTrailerDictionary[trailerNameless].Parts.Find(x => x.PartNameless == partNameless).PartData[i] = " wear: 0"; break; } else if (temp2.StartsWith(" cargo_damage:")) { UserTrailerDictionary[trailerNameless].Parts.Find(x => x.PartType == "trailerdata").PartData[i] = " cargo_damage: 0"; break; } i++; } } UserCompanyTruckDataPart slavetrailer = UserTrailerDictionary[trailerNameless].Parts.Find(x => x.PartType == "slavetrailer"); if (slavetrailer != null) { trailerNameless = slavetrailer.PartNameless; goto StartTrailerParts; } UpdateTrailerPanelProgressBars(); }
private void UpdateTrailerPanelProgressBars() { UserTrailerDictionary.TryGetValue(comboBoxUserTrailerCompanyTrailers.SelectedValue.ToString(), out UserCompanyTruckData SelectedUserCompanyTrailer); if (SelectedUserCompanyTrailer == null) { return; } for (int i = 0; i < 4; i++) { Panel pnl = null; string pnlname = "progressbarTrailerPart" + i.ToString(); if (groupBoxUserTrailerTrailerDetails.Controls.ContainsKey(pnlname)) { pnl = groupBoxUserTrailerTrailerDetails.Controls[pnlname] as Panel; } if (pnl != null) { UserCompanyTruckDataPart tempPart = null; switch (i) { case 0: tempPart = SelectedUserCompanyTrailer.Parts.Find(xp => xp.PartType == "trailerdata"); break; case 1: tempPart = SelectedUserCompanyTrailer.Parts.Find(xp => xp.PartType == "body"); break; case 2: tempPart = SelectedUserCompanyTrailer.Parts.Find(xp => xp.PartType == "chassis"); break; case 3: tempPart = SelectedUserCompanyTrailer.Parts.Find(xp => xp.PartType == "tire"); break; } string wear = "0"; decimal _wear = 0; if (tempPart != null) { try { List <string> TruckDataPart = tempPart.PartData; wear = TruckDataPart.Find(xl => xl.StartsWith(" wear:") || xl.StartsWith(" cargo_damage:")).Split(new char[] { ' ' })[2]; } catch { } } if (wear != "0" && wear != "1") { try { _wear = Utilities.NumericUtilities.HexFloatToDecimalFloat(wear); } catch { _wear = 1; } } else if (wear == "1") { _wear = 1; } SolidBrush ppen = new SolidBrush(GetProgressbarColor(_wear)); int x = 0, y = 0, pnlwidth = (int)(pnl.Width * (1 - _wear)); Bitmap progress = new Bitmap(pnl.Width, pnl.Height); Graphics g = Graphics.FromImage(progress); g.FillRectangle(ppen, x, y, pnlwidth, pnl.Height); int fontSize = 12; StringFormat sf = new StringFormat(); sf.LineAlignment = StringAlignment.Center; sf.Alignment = StringAlignment.Center; GraphicsPath p = new GraphicsPath(); p.AddString( ((int)((1 - _wear) * 100)).ToString() + " %", // text to draw FontFamily.GenericSansSerif, // or any other font family (int)FontStyle.Bold, // font style (bold, italic, etc.) g.DpiY * fontSize / 72, // em size new Rectangle(0, 0, pnl.Width, pnl.Height), // location where to draw text sf); // set options here (e.g. center alignment) g.SmoothingMode = SmoothingMode.AntiAlias; g.FillPath(Brushes.Black, p); g.DrawPath(Pens.Black, p); pnl.BackgroundImage = progress; } } string lctxt = ""; labelLicensePlateTr.Text = ""; int stindex = 0, endindex = 0; string LicensePlate = SelectedUserCompanyTrailer.Parts.Find(xp => xp.PartType == "trailerdata").PartData.Find(xl => xl.StartsWith(" license_plate:")).Split(new char[] { '"' })[1]; for (int i = 0; i < LicensePlate.Length; i++)//SelectedUserCompanyTruck.LicensePlate.Length; i++) { if (LicensePlate[i] == '<') { endindex = i; lctxt += LicensePlate.Substring(stindex, endindex - stindex); } else if (LicensePlate[i] == '>') { stindex = i + 1; } else if (i == LicensePlate.Length - 1) { endindex = i + 1; lctxt += LicensePlate.Substring(stindex, endindex - stindex); } } if (lctxt.Split(new char[] { '|' }).Length > 1) { labelLicensePlateTr.Text = lctxt.Split(new char[] { '|' })[0] + " Country " + lctxt.Split(new char[] { '|' })[1]; } else { labelLicensePlateTr.Text = lctxt.Split(new char[] { '|' })[0]; } }