static void Postfix() { if (PrepareCarefully.OriginalScenario != null) { Current.Game.Scenario = PrepareCarefully.OriginalScenario; PrepareCarefully.ClearOriginalScenario(); } }
static void Postfix(Page_ConfigureStartingPawns __instance, ref Rect rect) { Vector2 BottomButSize = new Vector2(150f, 38f); float num = rect.height + 45f; Rect rect4 = new Rect(rect.x + rect.width / 2f - BottomButSize.x / 2f, num, BottomButSize.x, BottomButSize.y); if (Widgets.ButtonText(rect4, "EdB.PC.Page.Button.PrepareCarefully".Translate(), true, false, true)) { try { ReflectionCache.Instance.Initialize(); PrepareCarefully prepareCarefully = PrepareCarefully.Instance; if (prepareCarefully == null) { Log.Error("Could not open Prepare Carefully screen, because we failed to get the Prepare Carefully singleton."); return; } prepareCarefully.Initialize(); prepareCarefully.OriginalPage = __instance; Page_PrepareCarefully page = new Page_PrepareCarefully(); State state = prepareCarefully.State; if (state == null) { Log.Error("Could not open Prepare Carefully screen, because the Prepare Carefully state was null."); return; } state.Page = page; Find.WindowStack.Add(page); } catch (Exception e) { Find.WindowStack.Add(new DialogInitializationError(e)); SoundDefOf.ClickReject.PlayOneShot(null); throw new InitializationException("Prepare Carefully failed to initialize", e); } } }
static void Postfix() { PrepareCarefully.ClearOriginalScenario(); }