/// <summary>
        /// Loads all existend global and dynamic gpss from the save file
        /// </summary>
        public override void LoadData()
        {
            MyObjectBuilder_GpsManager builder;

            if (FileUtils.FileExistsInWorldStorage(FILENAME, typeof(GlobalGpsManager)))
            {
                builder = FileUtils.ReadXmlFileFromWorld <MyObjectBuilder_GpsManager>(FILENAME, typeof(GlobalGpsManager));
            }
            else
            {
                builder = new MyObjectBuilder_GpsManager();
            }

            Gpss        = new HashSet <MyGps>();
            ToAddGpss   = new HashSet <MyGps>();
            AddedGpss   = new Dictionary <long, HashSet <int> >();
            DynamicGpss = new Dictionary <DynamicGpsId, int>();
            foreach (var gps in builder.Gpss)
            {
                AddGps(gps.name, new Color(gps.color), gps.position);
            }

            foreach (var gps in builder.DynamicGpss)
            {
                DynamicGpss.Add(new DynamicGpsId(gps.playerId, gps.gpsName), gps.gpsHash);
            }

            Static = this;
        }
        /// <summary>
        /// Unloads all data used by this session component
        /// </summary>
        protected override void UnloadData()
        {
            DynamicGpss.Clear();

            Gpss.Clear();
            ToAddGpss.Clear();
            Static = null;
        }