/// <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; }