/// <summary>
        /// Creates all GPSs that are persistent.
        /// </summary>
        private void AddAllPersistentGps()
        {
            var settings = MySettingsSession.Static.Settings.GeneratorSettings.GPSSettings;

            foreach (var item in StarSystem.GetAllObjects())
            {
                switch (item.Type)
                {
                case MySystemObjectType.MOON:
                    if (settings.MoonGPSMode == MyGPSGenerationMode.PERSISTENT || settings.MoonGPSMode == MyGPSGenerationMode.PERSISTENT_HIDDEN)
                    {
                        MyGPSManager.Static.AddPersistentGps(item.DisplayName, MOON_GPS_COLOR, item.CenterPosition, item.Id, settings.MoonGPSMode == MyGPSGenerationMode.PERSISTENT_HIDDEN);
                    }
                    break;

                case MySystemObjectType.PLANET:
                    if (settings.PlanetGPSMode == MyGPSGenerationMode.PERSISTENT || settings.PlanetGPSMode == MyGPSGenerationMode.PERSISTENT_HIDDEN)
                    {
                        MyGPSManager.Static.AddPersistentGps(item.DisplayName, PLANET_GPS_COLOR, item.CenterPosition, item.Id, settings.PlanetGPSMode == MyGPSGenerationMode.PERSISTENT_HIDDEN);
                    }
                    break;

                case MySystemObjectType.ASTEROIDS:
                    if (settings.AsteroidGPSMode == MyGPSGenerationMode.PERSISTENT || settings.AsteroidGPSMode == MyGPSGenerationMode.PERSISTENT_HIDDEN)
                    {
                        MySystemAsteroids asteroid = item as MySystemAsteroids;
                        MyAbstractAsteroidObjectProvider provider = null;
                        if (MyAsteroidObjectsManager.Static.AsteroidObjectProviders.TryGetValue(asteroid.AsteroidTypeName, out provider))
                        {
                            var shape = provider.GetAsteroidObjectShape(asteroid);

                            if (shape == null)
                            {
                                break;
                            }

                            MyGPSManager.Static.AddPersistentGps(item.DisplayName, RING_GPS_COLOR, shape.GetPointInShape(true), item.Id, settings.AsteroidGPSMode == MyGPSGenerationMode.PERSISTENT_HIDDEN);
                        }
                    }
                    break;
                }
            }
        }