コード例 #1
0
 static void Postfix()
 {
     if (PrepareCarefully.OriginalScenario != null)
     {
         Current.Game.Scenario = PrepareCarefully.OriginalScenario;
         PrepareCarefully.ClearOriginalScenario();
     }
 }
コード例 #2
0
            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);
                    }
                }
            }
コード例 #3
0
 static void Postfix()
 {
     PrepareCarefully.ClearOriginalScenario();
 }