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