public override void PostExposeData(object obj)
        {
            if (Scribe.mode == LoadSaveMode.LoadingVars)
            {
                Game game = obj as Game;
                if (game != null && game.questManager == null)
                {
                    game.questManager = new QuestManager();
                }
                Zone zone = obj as Zone;
                if (zone != null && zone.ID == -1)
                {
                    zone.ID = Find.UniqueIDsManager.GetNextZoneID();
                }
            }
            if (Scribe.mode != LoadSaveMode.PostLoadInit)
            {
                return;
            }
            Pawn pawn = obj as Pawn;

            if (pawn != null && pawn.royalty == null)
            {
                pawn.royalty = new Pawn_RoyaltyTracker(pawn);
            }
            Pawn_NativeVerbs pawn_NativeVerbs = obj as Pawn_NativeVerbs;

            if (pawn_NativeVerbs != null && pawn_NativeVerbs.verbTracker == null)
            {
                pawn_NativeVerbs.verbTracker = new VerbTracker(pawn_NativeVerbs);
            }
            Thing thing = obj as Thing;

            if (thing != null)
            {
                if (thing.def.defName == "Sandbags" && thing.Stuff == null)
                {
                    thing.SetStuffDirect(ThingDefOf.Cloth);
                }
                if (thing.def == ThingDefOf.MechCapsule)
                {
                    foreach (XmlNode oldCrashedShipPart in oldCrashedShipParts)
                    {
                        XmlElement xmlElement  = oldCrashedShipPart["def"];
                        XmlElement xmlElement2 = oldCrashedShipPart["id"];
                        if (xmlElement != null && xmlElement2 != null && Thing.IDNumberFromThingID(xmlElement2.InnerText) == thing.thingIDNumber)
                        {
                            upgradedCrashedShipParts.Add(new UpgradedCrashedShipPart
                            {
                                originalDefName = xmlElement.InnerText,
                                thing           = thing
                            });
                        }
                    }
                }
            }
            StoryWatcher storyWatcher = obj as StoryWatcher;

            if (storyWatcher != null)
            {
                if (storyWatcher.watcherAdaptation == null)
                {
                    storyWatcher.watcherAdaptation = new StoryWatcher_Adaptation();
                }
                if (storyWatcher.watcherPopAdaptation == null)
                {
                    storyWatcher.watcherPopAdaptation = new StoryWatcher_PopAdaptation();
                }
            }
            FoodRestrictionDatabase foodRestrictionDatabase = obj as FoodRestrictionDatabase;

            if (foodRestrictionDatabase != null && VersionControl.BuildFromVersionString(ScribeMetaHeaderUtility.loadedGameVersion) < 2057)
            {
                List <FoodRestriction> allFoodRestrictions = foodRestrictionDatabase.AllFoodRestrictions;
                for (int i = 0; i < allFoodRestrictions.Count; i++)
                {
                    allFoodRestrictions[i].filter.SetAllow(ThingCategoryDefOf.CorpsesHumanlike, allow: true);
                    allFoodRestrictions[i].filter.SetAllow(ThingCategoryDefOf.CorpsesAnimal, allow: true);
                }
            }
            SitePart sitePart = obj as SitePart;

            if (sitePart != null)
            {
                sitePart.hidden = sitePart.def.defaultHidden;
            }
        }