private static void CleanDeadMaps()
 {
     for (int i = 0; i < AssignManager.activePolicies.Count; i++)
     {
         MapActivePolicy map = AssignManager.activePolicies[i];
         if (!Find.Maps.Any(x => x.uniqueID == map.mapId))
         {
             AssignManager.DeleteLinksInMap(map.mapId);
             AssignManager.DeleteMap(map);
         }
     }
 }
Пример #2
0
 internal static void CleanDeadMaps()
 {
     for (int i = 0; i < AssignManager.activePolicies.Count; i++)
     {
         MapActivePolicy map = AssignManager.activePolicies[i];
         if (!Find.Maps.Any(x => x.uniqueID == map.mapId))
         {
             if (Find.Maps.Count == 1 && !AssignManager.ActivePoliciesContainsValidMap())
             {
                 //this means the player was on the move without any base
                 //and just re-settled. So, let's move the settings to
                 //the new map
                 int mapid = Find.CurrentMap.uniqueID;
                 AssignManager.MoveLinksToMap(mapid);
                 map.mapId = mapid;
             }
             else
             {
                 AssignManager.DeleteLinksInMap(map.mapId);
                 AssignManager.DeleteMap(map);
             }
         }
     }
 }