static void ParseGeoContent(Dictionary <string, string> paramDict) { var centerMatchGroups = Regex.Match(paramDict[VALUE2], REGEX_VECTOR2).Groups; var latitude = Convert.ToDouble(centerMatchGroups[REGEX_LATITUDE].Value); var longtitude = Convert.ToDouble(centerMatchGroups[REGEX_LONGTITUDE].Value); var sceneSetting = new GeoSceneSetting(); sceneSetting.Id = paramDict[ID]; sceneSetting.SceneName = paramDict[VALUE1]; sceneSetting.Center = new Vector2((float)latitude, (float)longtitude); sceneSetting.Radius = Convert.ToInt32(paramDict[VALUE3]); _specialSceneSettings.GeoSceneSettings.Add(sceneSetting); }
static void ParseLocaleBasedSceneSettings(AtomEntryCollection entries, ref BibaSpecialSceneSettings settings) { foreach (ListEntry row in entries) { var idText = row.Elements[0].Value; if (string.IsNullOrEmpty(idText)) { continue; } var sceneText = row.Elements[1].Value; if (string.IsNullOrEmpty(sceneText)) { continue; } var centerText = row.Elements[2].Value; if (string.IsNullOrEmpty(centerText)) { continue; } var centerMatchGroups = Regex.Match(centerText, REGEX_VECTOR2).Groups; if (centerMatchGroups.Count == 0) { continue; } var latitude = Convert.ToDouble(centerMatchGroups[REGEX_LATITUDE].Value); var longtitude = Convert.ToDouble(centerMatchGroups[REGEX_LONGTITUDE].Value); var radiusText = row.Elements[3].Value; if (string.IsNullOrEmpty(radiusText)) { continue; } var sceneSetting = new GeoSceneSetting(); sceneSetting.Id = idText; sceneSetting.SceneName = sceneText; sceneSetting.Center = new Vector2((float)latitude, (float)longtitude); sceneSetting.Radius = Convert.ToInt32(radiusText); settings.GeoSceneSettings.Add(sceneSetting); } }