public bool AddBodiesTo(CfgLocation ss, string bodies) { ss.bodies = GetAllbodies(bodies); ss.bodiesHash = new HashSet <string>(ss.bodies); return(ss.bodies.Count > 0); }
void GetAllLocations(ConfigNode achievements) { foreach (var node in achievements.GetNodes("LOCATION")) { string name = "", bodies = ""; if (node.TryGetValue("body", ref bodies) || node.TryGetValue("bodies", ref bodies)) { if (node.TryGetValue("name", ref name)) { CfgLocation location = new CfgLocation(name); if (AddBodiesTo(location, bodies)) { string lat = "", lon = ""; if (node.TryGetValue("latitude", ref lat) && node.TryGetValue("longitude", ref lon)) { location.latitude = Latitude(lat); location.longitude = Longitude(lon); } if (node.TryGetValue("latitude2", ref lat) && node.TryGetValue("longitude2", ref lon)) { location.latitude2 = Latitude(lat); location.longitude2 = Longitude(lon); } string radius = ""; if (node.TryGetValue("radius", ref radius)) { double.TryParse(radius.Trim(), out location.radius); } allLocations.Add(name, location); } else { Log.Error("No valid locations found for LANDING"); } } } } }