private void SaveCoords(string s) { if (string.IsNullOrEmpty(s) || s.Contains(' ')) { ErrorPopup.Error("Name cannot be empty or contain whitespace"); return; } double latitude, longitude; if (UnitParser.Parse(FindField <TextBox, string>("latitude"), "", out latitude) == false || UnitParser.Parse(FindField <TextBox, string>("longitude"), "", out longitude) == false) { ErrorPopup.Error("A parameter was not a number"); return; } var alreadyAdded = _saved.Where(saved => saved.Body == FlightGlobals.ActiveVessel.mainBody).FirstOrDefault(saved => saved.Name.ToLower() == s.ToLower()); if (alreadyAdded == null) { alreadyAdded = new SavedLatLon(); _saved.Add(alreadyAdded); } alreadyAdded.Body = FlightGlobals.ActiveVessel.mainBody; alreadyAdded.LatLon = new LatLon { Latitude = latitude, Longitude = longitude }; alreadyAdded.Name = s; SaveList(); ErrorPopup.Error("Saved " + s); }
public static SavedLatLon Parse(string s) { var split = s.Split(null); if (split.Length != 4) { MonoBehaviour.print("Failed to parse SavedLatLon\n" + s); return(null); } var retval = new SavedLatLon { Name = split[0], Body = FlightGlobals.Bodies.FirstOrDefault(c => c.bodyName.Replace(" ", "") == split[1]), LatLon = new LatLon() }; if (retval.Body == null || double.TryParse(split[2], out retval.LatLon.Latitude) == false || double.TryParse(split[3], out retval.LatLon.Longitude) == false) { MonoBehaviour.print("Failed to parse SavedLatLon\n" + s); return(null); } return(retval); }
public static SavedLatLon Parse(string s) { var split = s.Split(null); if (split.Length != 4) { MonoBehaviour.print("Failed to parse SavedLatLon\n" + s); return null; } var retval = new SavedLatLon { Name = split[0], Body = FlightGlobals.Bodies.FirstOrDefault(c => c.bodyName.Replace(" ", "") == split[1]), LatLon = new LatLon() }; if (retval.Body == null || double.TryParse(split[2], out retval.LatLon.Latitude) == false || double.TryParse(split[3], out retval.LatLon.Longitude) == false) { MonoBehaviour.print("Failed to parse SavedLatLon\n" + s); return null; } return retval; }
private void SaveCoords(string s) { if (string.IsNullOrEmpty(s) || s.Contains(' ')) { ErrorPopup.Error("Name cannot be empty or contain whitespace"); return; } double latitude, longitude; if (UnitParser.Parse(FindField<TextBox, string>("latitude"), "", out latitude) == false || UnitParser.Parse(FindField<TextBox, string>("longitude"), "", out longitude) == false) { ErrorPopup.Error("A parameter was not a number"); return; } var alreadyAdded = _saved.Where(saved => saved.Body == FlightGlobals.ActiveVessel.mainBody).FirstOrDefault(saved => saved.Name.ToLower() == s.ToLower()); if (alreadyAdded == null) { alreadyAdded = new SavedLatLon(); _saved.Add(alreadyAdded); } alreadyAdded.Body = FlightGlobals.ActiveVessel.mainBody; alreadyAdded.LatLon = new LatLon { Latitude = latitude, Longitude = longitude }; alreadyAdded.Name = s; SaveList(); ErrorPopup.Error("Saved " + s); }