예제 #1
0
        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);
        }
예제 #2
0
        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);
            }
        }