Beispiel #1
0
        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();
        }