public static void Crashland_Main(Page_SelectScenario __instance)
        {
            var pawns = FNotAgain_Mod.Instance.SavedPawns;

            if (Settings.GetHandle <bool>("isCrashlanding") && pawns != null)
            {
                Current.Game.InitData.startingPawns = pawns;
            }
        }
 internal static void OnItemUnsubscribed(RemoteStoragePublishedFileUnsubscribed_t result)
 {
     if (Workshop.IsOurAppId(result.m_nAppID))
     {
         if (Prefs.LogVerbose)
         {
             Log.Message("Workshop: Item unsubscribed: " + result.m_nPublishedFileId);
         }
         Page_ModsConfig page_ModsConfig = Find.WindowStack.WindowOfType <Page_ModsConfig>();
         if (page_ModsConfig != null)
         {
             page_ModsConfig.Notify_SteamItemUnsubscribed(result.m_nPublishedFileId);
         }
         Page_SelectScenario page_SelectScenario = Find.WindowStack.WindowOfType <Page_SelectScenario>();
         if (page_SelectScenario != null)
         {
             page_SelectScenario.Notify_SteamItemUnsubscribed(result.m_nPublishedFileId);
         }
         WorkshopItems.Notify_Unsubscribed(result.m_nPublishedFileId);
     }
 }
        // Macro function go automaticially go straight to pawn select page
        public static void GoToConfigPawnPage()
        {
            var page_select_scenario = new Page_SelectScenario();

            Find.WindowStack.Add(page_select_scenario);

            var methodInfo0 = typeof(Page_SelectScenario).GetMethod("CanDoNext", BindingFlags.NonPublic | BindingFlags.Instance);

            methodInfo0.Invoke(page_select_scenario, new object[0]);
            var methodInfo1 = typeof(Page_SelectScenario).GetMethod("DoNext", BindingFlags.NonPublic | BindingFlags.Instance);

            methodInfo1.Invoke(page_select_scenario, new object[0]);

            var page_storyteller = (Page_SelectStoryteller)page_select_scenario.next;

            var page_storyteller_methodInfo0 = typeof(Page_SelectStoryteller).GetMethod("CanDoNext", BindingFlags.NonPublic | BindingFlags.Instance);

            page_storyteller_methodInfo0.Invoke(page_storyteller, new object[0]);
            var page_storyteller_methodInfo1 = typeof(Page_SelectStoryteller).GetMethod("DoNext", BindingFlags.NonPublic | BindingFlags.Instance);

            page_storyteller_methodInfo1.Invoke(page_storyteller, new object[0]);

            var page_create_world = (Page_CreateWorldParams)page_storyteller.next;

            var prop = typeof(Page_CreateWorldParams).GetField("planetCoverage", BindingFlags.NonPublic | BindingFlags.Instance);

            prop.SetValue(page_create_world, 0.1f);

            var page_create_world_methodInfo0 = typeof(Page_CreateWorldParams).GetMethod("CanDoNext", BindingFlags.NonPublic | BindingFlags.Instance);

            page_create_world_methodInfo0.Invoke(page_create_world, new object[0]);

            var page_select_site = (Page_SelectStartingSite)page_create_world.next;

            LongEventHandler.QueueLongEvent(() => {
                while (Find.World == null)
                {
                    System.Threading.Thread.Sleep(100);
                }
                LongEventHandler.ExecuteWhenFinished(() =>
                {
                    Find.WorldInterface.SelectedTile = RimWorld.Planet.TileFinder.RandomStartingTile();

                    var page_select_site_methodInfo0 = typeof(Page_SelectStartingSite).GetMethod("CanDoNext", BindingFlags.NonPublic | BindingFlags.Instance);
                    page_select_site_methodInfo0.Invoke(page_select_site, new object[0]);
                    var page_create_world_methodInfo1 = typeof(Page_SelectStartingSite).GetMethod("DoNext", BindingFlags.NonPublic | BindingFlags.Instance);
                    page_create_world_methodInfo1.Invoke(page_select_site, new object[0]);


                    if (ModsConfig.IdeologyActive)
                    {
                        var page_ideo = (Page_ChooseIdeoPreset)page_select_site.next;
                        var allIdeo   = DefDatabase <IdeoPresetDef> .AllDefs;
                        var page_ideo_select_field = typeof(Page_ChooseIdeoPreset).GetField("selectedIdeo", BindingFlags.NonPublic | BindingFlags.Instance);
                        page_ideo_select_field.SetValue(page_ideo, allIdeo.RandomElement());

                        var page_ideo_methodInfo0 = typeof(Page_ChooseIdeoPreset).GetMethod("CanDoNext", BindingFlags.NonPublic | BindingFlags.Instance);
                        page_ideo_methodInfo0.Invoke(page_ideo, new object[0]);
                        var page_ideo_methodInfo1 = typeof(Page_ChooseIdeoPreset).GetMethod("DoNext", BindingFlags.NonPublic | BindingFlags.Instance);
                        page_ideo_methodInfo1.Invoke(page_ideo, new object[0]);
                    }

                    var page = new Page_RandomEditor();
                    Find.WindowStack.Add(page);
                });
            }, "wait", true, null, false);
        }