示例#1
0
        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);
        }
示例#2
0
            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);
            }
示例#3
0
 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;
 }
示例#4
0
 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);
 }