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