public override void DoWindowContents(Rect inRect) { Rect rect = new Rect(0f, 0f, inRect.width, 40f); Text.Font = GameFont.Medium; Text.Anchor = TextAnchor.MiddleCenter; Widgets.Label(rect, "LoadTransporters".Translate(new object[] { this.TransportersLabel })); Text.Font = GameFont.Small; Text.Anchor = TextAnchor.UpperLeft; Dialog_LoadTransporters.tabsList.Clear(); Dialog_LoadTransporters.tabsList.Add(new TabRecord("PawnsTab".Translate(), delegate { this.tab = Dialog_LoadTransporters.Tab.Pawns; }, this.tab == Dialog_LoadTransporters.Tab.Pawns)); Dialog_LoadTransporters.tabsList.Add(new TabRecord("ItemsTab".Translate(), delegate { this.tab = Dialog_LoadTransporters.Tab.Items; }, this.tab == Dialog_LoadTransporters.Tab.Items)); inRect.yMin += 72f; Widgets.DrawMenuSection(inRect); TabDrawer.DrawTabs(inRect, Dialog_LoadTransporters.tabsList); inRect = inRect.ContractedBy(17f); GUI.BeginGroup(inRect); Rect rect2 = inRect.AtZero(); Rect rect3 = rect2; rect3.xMin += rect2.width - 515f; rect3.y += 32f; TransferableUIUtility.DrawMassInfo(rect3, this.MassUsage, this.MassCapacity, "TransportersMassUsageTooltip".Translate(), this.lastMassFlashTime, true); CaravanUIUtility.DrawDaysWorthOfFoodInfo(new Rect(rect3.x, rect3.y + 19f, rect3.width, rect3.height), this.DaysWorthOfFood.First, this.DaysWorthOfFood.Second, this.EnvironmentAllowsEatingVirtualPlantsNow, true, 3.40282347E+38f); this.DoBottomButtons(rect2); Rect inRect2 = rect2; inRect2.yMax -= 59f; bool flag = false; Dialog_LoadTransporters.Tab tab = this.tab; if (tab != Dialog_LoadTransporters.Tab.Pawns) { if (tab == Dialog_LoadTransporters.Tab.Items) { this.itemsTransfer.OnGUI(inRect2, out flag); } } else { this.pawnsTransfer.OnGUI(inRect2, out flag); } if (flag) { this.CountToTransferChanged(); } GUI.EndGroup(); }
public override void DoWindowContents(Rect inRect) { TradeSession.deal.UpdateCurrencyCount(); TransferableUIUtility.DoTransferableSorters(this.sorter1, this.sorter2, delegate(TransferableSorterDef x) { this.sorter1 = x; this.CacheTradeables(); }, delegate(TransferableSorterDef x) { this.sorter2 = x; this.CacheTradeables(); }); float num = inRect.width - 590f; Rect rect = new Rect(num, 0f, inRect.width - num, this.TopAreaHeight); GUI.BeginGroup(rect); Text.Font = GameFont.Medium; Rect rect2 = new Rect(0f, 0f, rect.width / 2f, rect.height); Text.Anchor = TextAnchor.UpperLeft; Widgets.Label(rect2, Faction.OfPlayer.Name); Rect rect3 = new Rect(rect.width / 2f, 0f, rect.width / 2f, rect.height); Text.Anchor = TextAnchor.UpperRight; string text = TradeSession.trader.TraderName; if (Text.CalcSize(text).x > rect3.width) { Text.Font = GameFont.Small; text = text.Truncate(rect3.width, null); } Widgets.Label(rect3, text); Text.Font = GameFont.Small; Text.Anchor = TextAnchor.UpperLeft; Rect rect4 = new Rect(0f, 27f, rect.width / 2f, rect.height / 2f); Widgets.Label(rect4, "Negotiator".Translate() + ": " + TradeSession.playerNegotiator.LabelShort); Text.Anchor = TextAnchor.UpperRight; Rect rect5 = new Rect(rect.width / 2f, 27f, rect.width / 2f, rect.height / 2f); Widgets.Label(rect5, TradeSession.trader.TraderKind.LabelCap); Text.Anchor = TextAnchor.UpperLeft; GUI.color = new Color(1f, 1f, 1f, 0.6f); Text.Font = GameFont.Tiny; Rect rect6 = new Rect(rect.width / 2f - 100f - 30f, 0f, 200f, rect.height); Text.Anchor = TextAnchor.LowerCenter; Widgets.Label(rect6, "PositiveBuysNegativeSells".Translate()); Text.Anchor = TextAnchor.UpperLeft; GUI.color = Color.white; if (this.playerIsCaravan) { Text.Font = GameFont.Small; float massUsage = this.MassUsage; float massCapacity = this.MassCapacity; Rect rect7 = rect.AtZero(); rect7.y = 45f; TransferableUIUtility.DrawMassInfo(rect7, massUsage, massCapacity, "TradeMassUsageTooltip".Translate(), -9999f, false); CaravanUIUtility.DrawDaysWorthOfFoodInfo(new Rect(rect7.x, rect7.y + 19f, rect7.width, rect7.height), this.DaysWorthOfFood.First, this.DaysWorthOfFood.Second, this.EnvironmentAllowsEatingVirtualPlantsNow, false, 200f); } GUI.EndGroup(); float num2 = 0f; if (this.cachedCurrencyTradeable != null) { float num3 = inRect.width - 16f; Rect rect8 = new Rect(0f, this.TopAreaHeight, num3, 30f); TradeUI.DrawTradeableRow(rect8, this.cachedCurrencyTradeable, 1); GUI.color = Color.gray; Widgets.DrawLineHorizontal(0f, this.TopAreaHeight + 30f - 1f, num3); GUI.color = Color.white; num2 = 30f; } Rect mainRect = new Rect(0f, this.TopAreaHeight + num2, inRect.width, inRect.height - this.TopAreaHeight - 38f - num2 - 20f); this.FillMainRect(mainRect); Rect rect9 = new Rect(inRect.width / 2f - this.AcceptButtonSize.x / 2f, inRect.height - 55f, this.AcceptButtonSize.x, this.AcceptButtonSize.y); if (Widgets.ButtonText(rect9, "AcceptButton".Translate(), true, false, true)) { Action action = delegate { bool flag; if (TradeSession.deal.TryExecute(out flag)) { if (flag) { SoundDefOf.ExecuteTrade.PlayOneShotOnCamera(null); Pawn pawn = TradeSession.trader as Pawn; if (pawn != null) { TaleRecorder.RecordTale(TaleDefOf.TradedWith, new object[] { TradeSession.playerNegotiator, pawn }); } TradeSession.playerNegotiator.mindState.inspirationHandler.EndInspiration(InspirationDefOf.InspiredTrade); this.Close(false); } else { this.Close(true); } } }; if (TradeSession.deal.DoesTraderHaveEnoughSilver()) { action(); } else { this.FlashSilver(); SoundDefOf.ClickReject.PlayOneShotOnCamera(null); Find.WindowStack.Add(Dialog_MessageBox.CreateConfirmation("ConfirmTraderShortFunds".Translate(), action, false, null)); } Event.current.Use(); } Rect rect10 = new Rect(rect9.x - 10f - this.OtherBottomButtonSize.x, rect9.y, this.OtherBottomButtonSize.x, this.OtherBottomButtonSize.y); if (Widgets.ButtonText(rect10, "ResetButton".Translate(), true, false, true)) { SoundDefOf.TickLow.PlayOneShotOnCamera(null); TradeSession.deal.Reset(); this.CacheTradeables(); this.CountToTransferChanged(); Event.current.Use(); } Rect rect11 = new Rect(rect9.xMax + 10f, rect9.y, this.OtherBottomButtonSize.x, this.OtherBottomButtonSize.y); if (Widgets.ButtonText(rect11, "CancelButton".Translate(), true, false, true)) { this.Close(true); Event.current.Use(); } }
public override void DoWindowContents(Rect inRect) { Rect rect = new Rect(0f, 0f, inRect.width, 40f); Text.Font = GameFont.Medium; Text.Anchor = TextAnchor.MiddleCenter; Widgets.Label(rect, ((!this.reform) ? "FormCaravan" : "ReformCaravan").Translate()); Text.Font = GameFont.Small; Text.Anchor = TextAnchor.UpperLeft; Dialog_FormCaravan.tabsList.Clear(); Dialog_FormCaravan.tabsList.Add(new TabRecord("PawnsTab".Translate(), delegate { this.tab = Tab.Pawns; }, this.tab == Tab.Pawns)); Dialog_FormCaravan.tabsList.Add(new TabRecord("ItemsTab".Translate(), delegate { this.tab = Tab.Items; }, this.tab == Tab.Items)); if (!this.reform) { Dialog_FormCaravan.tabsList.Add(new TabRecord("CaravanConfigTab".Translate(), delegate { this.tab = Tab.Config; }, this.tab == Tab.Config)); } inRect.yMin += 72f; Widgets.DrawMenuSection(inRect); TabDrawer.DrawTabs(inRect, Dialog_FormCaravan.tabsList); inRect = inRect.ContractedBy(17f); GUI.BeginGroup(inRect); Rect rect2 = inRect.AtZero(); if (this.tab != Tab.Config) { Rect rect3 = rect2; rect3.xMin += (float)(rect2.width - 515.0); rect3.y += 32f; TransferableUIUtility.DrawMassInfo(rect3, this.MassUsage, this.MassCapacity, "CaravanMassUsageTooltip".Translate(), this.lastMassFlashTime, true); CaravanUIUtility.DrawDaysWorthOfFoodInfo(new Rect(rect3.x, (float)(rect3.y + 19.0), rect3.width, rect3.height), this.DaysWorthOfFood.First, this.DaysWorthOfFood.Second, this.EnvironmentAllowsEatingVirtualPlantsNow, true, 3.40282347E+38f); } this.DoBottomButtons(rect2); Rect inRect2 = rect2; inRect2.yMax -= 59f; bool flag = false; switch (this.tab) { case Tab.Pawns: this.pawnsTransfer.OnGUI(inRect2, out flag); break; case Tab.Items: this.itemsTransfer.OnGUI(inRect2, out flag); break; case Tab.Config: this.DrawConfig(rect2); break; } if (flag) { this.CountToTransferChanged(); } GUI.EndGroup(); }