private void ComputeRoute(object sender, EventArgs args) { int jumpsPerLeg = 4; int maxJumps = 6; var jumpDistance = FloatHelper.AsFloat(MaxJumpDistance.Text); if (Math.Abs(jumpDistance) < 0.0000001f) { MessageBox.Show("Please enter a valid floating point jump distance.", "F**k!", MessageBoxButtons.OK); return; } var idealSellDistance = FloatHelper.AsFloat(IdealSellDistance.Text); if (Math.Abs(idealSellDistance) < 0.0000001f) { MessageBox.Show("Please enter a valid floating point jump distance.", "F**k!", MessageBoxButtons.OK); return; } try { jumpsPerLeg = Convert.ToInt32(JumpsPerLeg.Text); } catch { MessageBox.Show("Please enter a valid number of legs per jump.", "F**k!", MessageBoxButtons.OK); return; } try { maxJumps = Convert.ToInt32(MaxJumps.Text); } catch { MessageBox.Show("Please enter a valid number of max jumps.", "F**k!", MessageBoxButtons.OK); return; } if (!ValidateComboBox(CurrentSystem)) { return; } RoutePlanner planner = new RoutePlanner(availableRares.Values.ToList(), jumpDistance); StarSystem start = galaxy.Systems[CurrentSystem.Text]; currentRoute = planner.FindRoute(start, idealSellDistance, jumpsPerLeg, maxJumps); OnRouteUpdated(); }