private void UpdateTo(bool updatename) { changesilence = true; if (textBox_To.ReadOnly == false) // if entering system name.. { ISystem ds1 = discoveryform.history.FindSystem(SystemNameOnly(textBox_To.Text), discoveryform.galacticMapping); if (ds1 != null) { if (updatename) // can't fix it as you type.. so leave alone { if (ds1 is GalacticMapSystem) { GalacticMapSystem gms = (GalacticMapSystem)ds1; textBox_To.Text = gms.GalMapObject.name; } else { textBox_To.Text = ds1.Name; } } textBox_ToName.Text = ds1.Name; textBox_ToX.Text = ds1.X.ToString("0.00"); textBox_ToY.Text = ds1.Y.ToString("0.00"); textBox_ToZ.Text = ds1.Z.ToString("0.00"); } else textBox_ToX.Text = textBox_ToY.Text = textBox_ToZ.Text = ""; } else // Co-ords.. { string res = ""; Point3D curpos; if (GetCoordsTo(out curpos)) { ISystem nearest = SystemClassDB.FindNearestSystemTo(curpos.X, curpos.Y, curpos.Z); if (nearest != null) { double distance = Point3D.DistanceBetween(curpos, new Point3D(nearest.X, nearest.Y, nearest.Z)); if (distance < 0.1) res = nearest.Name; else res = nearest.Name + " @ " + distance.ToString("0.00") + "ly"; } } textBox_To.Text = res; textBox_ToName.Text = res; } UpdateDistance(); changesilence = false; button_Route.Enabled = IsValid(); }
private void UpdateFrom(bool updatename) { changesilence = true; if (textBox_From.ReadOnly == false) // if entering system name.. { ISystem ds1 = _discoveryForm.history.FindSystem(SystemNameOnly(textBox_From.Text), _discoveryForm.galacticMapping); if (ds1 != null) { if (updatename) // can't fix it as you type.. so leave alone { if (ds1 is GalacticMapSystem) { GalacticMapSystem gms = (GalacticMapSystem)ds1; textBox_From.Text = gms.GalMapObject.name; textBox_FromName.Text = gms.name; } else { textBox_From.Text = ds1.name; textBox_FromName.Text = ds1.name; } } textBox_FromX.Text = ds1.x.ToString("0.00"); textBox_FromY.Text = ds1.y.ToString("0.00"); textBox_FromZ.Text = ds1.z.ToString("0.00"); } else { textBox_FromX.Text = textBox_FromY.Text = textBox_FromZ.Text = ""; } } else { string res = ""; Point3D curpos; if (GetCoordsFrom(out curpos)) { ISystem nearest = SystemClassDB.FindNearestSystem(curpos.X, curpos.Y, curpos.Z); if (nearest != null) { double distance = Point3D.DistanceBetween(curpos, new Point3D(nearest.x, nearest.y, nearest.z)); if (distance < 0.1) { res = nearest.name; } else { res = nearest.name + " @ " + distance.ToString("0.00") + "ly"; } } } textBox_From.Text = res; textBox_FromName.Text = res; } UpdateDistance(); changesilence = false; button_Route.Enabled = IsValid(); }