public static void DrawSocialCard(Rect rect, Pawn pawn)
        {
            GUI.BeginGroup(rect);
            Text.Font = GameFont.Small;
            Rect rect2 = new Rect(0f, 20f, rect.width, rect.height - 20f);
            Rect rect3 = rect2.ContractedBy(10f);
            Rect rect4 = rect3;
            Rect rect5 = rect3;
            Rect rect7 = rect3;

            rect4.height *= 0.63f;
            rect5.y       = rect4.yMax + 17f;
            rect5.yMax    = rect3.yMax;
            GUI.color     = new Color(1f, 1f, 1f, 0.5f);
            Widgets.DrawLineHorizontal(0f, (rect4.yMax + rect5.y) / 2f, rect.width);
            GUI.color = Color.white;
            if (Prefs.DevMode)
            {
                Rect rect6 = new Rect(5f, 5f, rect.width, 22f);
                typeof(SocialCardUtility).GetMethod("DrawDebugOptions", BindingFlags.Static | BindingFlags.NonPublic).Invoke(null, new object[] { rect6, pawn });
            }
            if (PsychologyBase.ActivateKinsey() && pawn is PsychologyPawn && ((PsychologyPawn)pawn).sexuality != null)
            {
                DrawKinseyValue(rect7, pawn);
            }
            SocialCardUtility.DrawRelationsAndOpinions(rect4, pawn);
            typeof(SocialCardUtility).GetMethod("DrawInteractionsLog", BindingFlags.Static | BindingFlags.NonPublic).Invoke(null, new object[] { rect5, pawn });
            GUI.EndGroup();
        }
Example #2
0
 //draws the harddrive's info tabs
 private void FillInfoTabs(Rect cardRect)
 {
     if (this.tab == Neurolink_Dialog_Mainframe.InfoCardTab.Character)
     {
         CharacterCardUtility.DrawCharacterCard(cardRect, this.selectedHarddrive.pawn, null, default(Rect));
     }
     else if (this.tab == Neurolink_Dialog_Mainframe.InfoCardTab.Stats)
     {
         if (this.selectedHarddrive != null)
         {
             Thing         innerPawn     = this.selectedHarddrive.pawn;
             MinifiedThing minifiedThing = (Thing)this.selectedHarddrive as MinifiedThing;
             if (minifiedThing != null)
             {
                 innerPawn = minifiedThing.InnerThing;
             }
             StatsReportUtility.DrawStatsReport(cardRect, innerPawn);
         }
         //	else if (this.titleDef != null) { //%TODO%
         //		StatsReportUtility.DrawStatsReport(cardRect, this.titleDef, this.faction);
         //	}
     }
     else if (this.tab == Neurolink_Dialog_Mainframe.InfoCardTab.Social)
     {
         SocialCardUtility.DrawSocialCard(cardRect, this.selectedHarddrive.pawn);
     }
     else if (this.tab == Neurolink_Dialog_Mainframe.InfoCardTab.Needs)
     {
         Vector2 scrollPos = default(Vector2);
         NeedsCardUtility.DoNeedsMoodAndThoughts(cardRect, this.selectedHarddrive.pawn, ref scrollPos);
     }
 }
        protected override void ExtraOnGUI()
        {
            this.EnsureSpecificSocialTabForPawnValid();
            base.ExtraOnGUI();
            Pawn localSpecificSocialTabForPawn = this.specificSocialTabForPawn;

            if (localSpecificSocialTabForPawn != null)
            {
                Rect  tabRect = base.TabRect;
                float specificSocialTabWidth = this.SpecificSocialTabWidth;
                Rect  rect = new Rect(tabRect.xMax - 1f, tabRect.yMin, specificSocialTabWidth, tabRect.height);
                Find.WindowStack.ImmediateWindow(1439870015, rect, WindowLayer.GameUI, delegate
                {
                    if (localSpecificSocialTabForPawn.DestroyedOrNull())
                    {
                        return;
                    }
                    SocialCardUtility.DrawSocialCard(rect.AtZero(), localSpecificSocialTabForPawn);
                    if (Widgets.CloseButtonFor(rect.AtZero()))
                    {
                        this.specificSocialTabForPawn = null;
                        SoundDefOf.TabClose.PlayOneShotOnCamera(null);
                    }
                }, true, false, 1f);
            }
        }
        public override void DoWindowContents(Rect rect)
        {
            base.DrawPageTitle(rect);
            Rect mainRect = base.GetMainRect(rect, 30f, false);

            Widgets.DrawMenuSection(mainRect, true);
            TabDrawer.DrawTabs(mainRect, from c in Find.GameInitData.startingPawns
                               select new TabRecord(c.LabelCap, delegate {
                this.SelectPawn(c);
            }, c == this.curPawn));
            Rect rect2 = mainRect.ContractedBy(17f);
            Rect rect3 = rect2;

            rect3.width = 100f;
            GUI.DrawTexture(new Rect(rect3.xMin + (rect3.width - Page_ConfigureStartingPawns.PawnPortraitSize.x) / 2f - 10f, rect3.yMin + 20f, Page_ConfigureStartingPawns.PawnPortraitSize.x, Page_ConfigureStartingPawns.PawnPortraitSize.y), PortraitsCache.Get(this.curPawn, Page_ConfigureStartingPawns.PawnPortraitSize, default(Vector3), 1f));
            Rect rect4 = rect2;

            rect4.xMin = rect3.xMax;
            Rect rect5 = rect4;

            rect5.width = 475f;
            CharacterCardUtility.DrawCharacterCard(rect5, this.curPawn, new Action(this.RandomizeCurPawn));
            Rect rect6 = new Rect(rect5.xMax + 5f, rect4.y + 100f, rect4.width - rect5.width - 5f, 200f);

            Text.Font = GameFont.Medium;
            Widgets.Label(rect6, "Health".Translate());
            Text.Font   = GameFont.Small;
            rect6.yMin += 35f;
            HealthCardUtility.DrawHediffListing(rect6, this.curPawn, true);
            Rect rect7 = new Rect(rect6.x, rect6.yMax, rect6.width, 200f);

            Text.Font = GameFont.Medium;
            Widgets.Label(rect7, "Relations".Translate());
            Text.Font   = GameFont.Small;
            rect7.yMin += 35f;
            SocialCardUtility.DrawRelationsAndOpinions(rect7, this.curPawn);

            // EdB: Add a middle "Prepare Carefully" button.
            // base.DoBottomButtons(rect, "Start".Translate(), null, null, true);
            Action prepareCarefullyAction = () => {
                PrepareCarefully.Instance.Initialize();
                PrepareCarefully.Instance.OriginalPage = this;
                Find.WindowStack.Add(new Page_ConfigureStartingPawnsCarefully());
                if (!PrepareCarefully.Instance.FindScenPart())
                {
                    Find.WindowStack.Add(new Dialog_Confirm("EdB.PrepareCarefully.ModConfigProblem.Description".Translate(),
                                                            delegate { }, true, "EdB.PrepareCarefully.ModConfigProblem.Title".Translate(), false));
                }
            };

            base.DoBottomButtons(rect, "Start".Translate(), "EdB.PrepareCarefully".Translate(), prepareCarefullyAction, true);
        }
Example #5
0
        public override void DoWindowContents(Rect rect)
        {
            base.DrawPageTitle(rect);
            Rect mainRect = base.GetMainRect(rect, 30f, false);

            Widgets.DrawMenuSection(mainRect, true);
            TabDrawer.DrawTabs(mainRect, from c in Find.GameInitData.startingPawns
                               select new TabRecord(c.LabelCap, delegate
            {
                this.SelectPawn(c);
            }, c == this.curPawn));
            Rect rect2 = mainRect.ContractedBy(17f);
            Rect rect3 = rect2;

            rect3.width = 100f;
            GUI.DrawTexture(new Rect(rect3.xMin + (rect3.width - Page_ConfigureStartingSlaves.PawnPortraitSize.x) / 2f - 10f, rect3.yMin + 20f, Page_ConfigureStartingSlaves.PawnPortraitSize.x, Page_ConfigureStartingSlaves.PawnPortraitSize.y), PortraitsCache.Get(this.curPawn, Page_ConfigureStartingSlaves.PawnPortraitSize, default(Vector3), 1f));
            Rect rect4 = rect2;

            rect4.xMin = rect3.xMax;
            Rect rect5 = rect4;

            rect5.width = 475f;
            CharacterCardUtility.DrawCharacterCard(rect5, this.curPawn, new Action(this.RandomizeCurPawn));
            Rect rect6 = new Rect(rect5.xMax + 5f, rect4.y + 100f, rect4.width - rect5.width - 5f, 200f);

            Text.Font = GameFont.Medium;
            Widgets.Label(rect6, "Health".Translate());
            Text.Font   = GameFont.Small;
            rect6.yMin += 35f;
            HealthCardUtility.DrawHediffListing(rect6, this.curPawn, true);
            Rect rect7 = new Rect(rect6.x, rect6.yMax, rect6.width, 200f);

            Text.Font = GameFont.Medium;
            Widgets.Label(rect7, "Relations".Translate());
            Text.Font   = GameFont.Small;
            rect7.yMin += 35f;
            SocialCardUtility.DrawRelationsAndOpinions(rect7, this.curPawn);
            base.DoBottomButtons(rect, "Next".Translate(), null, null, true);
        }
        public override void DoWindowContents(Rect rect)
        {
            DrawPageTitle(rect);
            var mainRect = GetMainRect(rect, 30f);

            Widgets.DrawMenuSection(mainRect);
            TabDrawer.DrawTabs(mainRect, (from c in Find.GameInitData.startingAndOptionalPawns
                                          select new TabRecord(c.LabelCap, delegate { SelectPawn(c); }, c == curPawn)).ToList());
            var rect2 = mainRect.ContractedBy(17f);
            var rect3 = rect2;

            rect3.width = 100f;
            GUI.DrawTexture(
                new Rect(rect3.xMin + ((rect3.width - PawnPortraitSize.x) / 2f) - 10f, rect3.yMin + 20f,
                         PawnPortraitSize.x, PawnPortraitSize.y), PortraitsCache.Get(curPawn, PawnPortraitSize, Rot4.South));
            var rect4 = rect2;

            rect4.xMin = rect3.xMax;
            var rect5 = rect4;

            rect5.width = 475f;
            CharacterCardUtility.DrawCharacterCard(rect5, curPawn, RandomizeCurPawn);
            var rect6 = new Rect(rect5.xMax + 5f, rect4.y + 100f, rect4.width - rect5.width - 5f, 200f);

            Text.Font = GameFont.Medium;
            Widgets.Label(rect6, "Health".Translate());
            Text.Font   = GameFont.Small;
            rect6.yMin += 35f;
            HealthCardUtility.DrawHediffListing(rect6, curPawn, true);
            var rect7 = new Rect(rect6.x, rect6.yMax, rect6.width, 200f);

            Text.Font = GameFont.Medium;
            Widgets.Label(rect7, "Relations".Translate());
            Text.Font   = GameFont.Small;
            rect7.yMin += 35f;
            SocialCardUtility.DrawRelationsAndOpinions(rect7, curPawn);
            DoBottomButtons(rect, "Next".Translate());
        }
 protected override void FillTab()
 {
     SocialCardUtility.DrawSocialCard(new Rect(0f, 0f, this.size.x, this.size.y), this.SelPawnForSocialInfo);
 }