internal static void DrawSeachBox() { Rect searchRect = new Rect(XPos, YPos, 250f, 26f); GUI.SetNextControlName("WorldSearchBox"); string search = TextEntryWidgets.TextEntryWithPlaceHolder(searchRect, SearchString, "SearchPlaceholder".Translate(), true); if (search != SearchString) { SearchString = search; UpdateSearchResults(); } DrawResults(); }
private static void DrawSearchBoxRow(Listing_Standard listing) { Rect searchBox = listing.GetRect(26f); searchString = TextEntryWidgets.TextEntryWithPlaceHolder(searchBox, searchString, "SearchPlaceHolder".Translate()); }
internal static void DoWindowContents(this Page_ModsConfig instance, Rect rect) { Rect mainRect = (Rect)AccessTools.Method(typeof(Page_ModsConfig), "GetMainRect").Invoke(instance, new object[] { rect, 0f, true }); GUI.BeginGroup(mainRect); Text.Font = GameFont.Small; float num = 0f; Rect rect2 = new Rect(17f, num, 316f, 30f); if (Widgets.ButtonText(rect2, "OpenSteamWorkshop".Translate(), true, false, true)) { SteamUtility.OpenSteamWorkshopPage(); } num += 30f; Rect rect3 = new Rect(17f, num, 316f, 30f); if (Widgets.ButtonText(rect3, "GetModsFromForum".Translate(), true, false, true)) { Application.OpenURL("http://rimworldgame.com/getmods"); } num += 30f; num += 17f; // Modlist Rect rect4 = new Rect(0f, num, 350f, mainRect.height - num); Widgets.DrawMenuSection(rect4, true); float height = (float)(ModLister.AllInstalledMods.Count <ModMetaData>() * 34 + 300); Rect rect5 = new Rect(0f, 26f, rect4.width - 16f, height); Widgets.BeginScrollView(rect4, ref modListScrollPosition, rect5, true); Rect rect6 = rect5.ContractedBy(4f); Listing_Standard listing_Standard = new Listing_Standard(); listing_Standard.ColumnWidth = rect6.width; listing_Standard.Begin(rect6); Rect searchBox = listing_Standard.GetRect(26f); searchString = TextEntryWidgets.TextEntryWithPlaceHolder(searchBox, searchString, "SearchPlaceHolder".Translate()); int reorderableGroup = -1; if (!SearchInProgress) { reorderableGroup = ReorderableWidget.NewGroup(delegate(int from, int to) { AccessTools.Method(typeof(ModsConfig), "Reorder").Invoke(null, new object[] { from, to }); SoundDefOf.TickHigh.PlayOneShotOnCamera(null); }); } int num2 = 0; foreach (ModMetaDataEnhanced current in ModsInListOrder()) { DoModRow(listing_Standard, current, num2, reorderableGroup); num2++; } for (int i = 0; i < WorkshopItems.DownloadingItemsCount; i++) { DoModRowDownloading(listing_Standard, num2); num2++; } listing_Standard.End(); Widgets.EndScrollView(); // selected mod details Rect position = new Rect(rect4.xMax + 17f, 0f, mainRect.width - rect4.width - 17f, mainRect.height); GUI.BeginGroup(position); if (selectedMod != null) { Text.Font = GameFont.Medium; Rect rect7 = new Rect(0f, 0f, position.width, 40f); Text.Anchor = TextAnchor.UpperCenter; Widgets.Label(rect7, selectedMod.OriginalMetaData.Name.Truncate(rect7.width, null)); Text.Anchor = TextAnchor.UpperLeft; if (!selectedMod.OriginalMetaData.IsCoreMod) { Rect rect8 = rect7; Text.Font = GameFont.Tiny; Text.Anchor = TextAnchor.LowerRight; if (!selectedMod.OriginalMetaData.VersionCompatible) { GUI.color = Color.red; } Widgets.Label(rect8, "ModTargetVersion".Translate(new object[] { selectedMod.OriginalMetaData.TargetVersion })); GUI.color = Color.white; Text.Anchor = TextAnchor.UpperLeft; Text.Font = GameFont.Small; } Rect position2 = new Rect(0f, rect7.yMax, 0f, 20f); if (selectedMod.OriginalMetaData.previewImage != null) { position2.width = Mathf.Min((float)selectedMod.OriginalMetaData.previewImage.width, position.width); position2.height = (float)selectedMod.OriginalMetaData.previewImage.height * (position2.width / (float)selectedMod.OriginalMetaData.previewImage.width); if (position2.height > 300f) { position2.width *= 300f / position2.height; position2.height = 300f; } position2.x = position.width / 2f - position2.width / 2f; GUI.DrawTexture(position2, selectedMod.OriginalMetaData.previewImage, ScaleMode.ScaleToFit); } Text.Font = GameFont.Small; float num3 = position2.yMax + 10f; if (!selectedMod.OriginalMetaData.Author.NullOrEmpty()) { Rect rect9 = new Rect(0f, num3, position.width / 2f, 25f); Widgets.Label(rect9, "Author".Translate() + ": " + selectedMod.OriginalMetaData.Author); } if (!selectedMod.OriginalMetaData.Url.NullOrEmpty()) { float num4 = Mathf.Min(position.width / 2f, Text.CalcSize(selectedMod.OriginalMetaData.Url).x); Rect rect10 = new Rect(position.width - num4, num3, num4, 25f); Text.WordWrap = false; if (Widgets.ButtonText(rect10, selectedMod.OriginalMetaData.Url, false, false, true)) { Application.OpenURL(selectedMod.OriginalMetaData.Url); } Text.WordWrap = true; } WidgetRow widgetRow = new WidgetRow(position.width, num3 + 25f, UIDirection.LeftThenUp, 99999f, 4f); if (SteamManager.Initialized && selectedMod.OriginalMetaData.OnSteamWorkshop) { if (widgetRow.ButtonText("Unsubscribe", null, true, false)) { Find.WindowStack.Add(Dialog_MessageBox.CreateConfirmation("ConfirmUnsubscribe".Translate(new object[] { selectedMod.OriginalMetaData.Name }), delegate { selectedMod.OriginalMetaData.enabled = false; AccessTools.Method(typeof(Workshop), "Unsubscribe").Invoke(null, new object[] { selectedMod.OriginalMetaData }); AccessTools.Method(typeof(Page_ModsConfig), "Notify_SteamItemUnsubscribed").Invoke(instance, new object[] { selectedMod.OriginalMetaData.GetPublishedFileId() }); }, true, null)); } if (widgetRow.ButtonText("WorkshopPage".Translate(), null, true, false)) { SteamUtility.OpenWorkshopPage(selectedMod.OriginalMetaData.GetPublishedFileId()); } } float num5 = num3 + 25f + 24f; Rect outRect = new Rect(0f, num5, position.width, position.height - num5 - 40f); float width = outRect.width - 16f; Rect rect11 = new Rect(0f, 0f, width, Text.CalcHeight(selectedMod.OriginalMetaData.Description, width)); Widgets.BeginScrollView(outRect, ref modDescriptionScrollPosition, rect11, true); Widgets.Label(rect11, selectedMod.OriginalMetaData.Description); Widgets.EndScrollView(); if (Prefs.DevMode && SteamManager.Initialized && selectedMod.OriginalMetaData.CanToUploadToWorkshop()) { Rect rect12 = new Rect(0f, position.yMax - 40f, 200f, 40f); if (Widgets.ButtonText(rect12, Workshop.UploadButtonLabel(selectedMod.OriginalMetaData.GetPublishedFileId()), true, false, true)) { if (!VersionControl.IsWellFormattedVersionString(selectedMod.OriginalMetaData.TargetVersion)) { Messages.Message("MessageModNeedsWellFormattedTargetVersion".Translate(new object[] { VersionControl.CurrentVersionString }), MessageSound.RejectInput); } else { Find.WindowStack.Add(Dialog_MessageBox.CreateConfirmation("ConfirmSteamWorkshopUpload".Translate(), delegate { SoundDefOf.TickHigh.PlayOneShotOnCamera(null); Dialog_MessageBox dialog_MessageBox = Dialog_MessageBox.CreateConfirmation("ConfirmContentAuthor".Translate(), delegate { SoundDefOf.TickHigh.PlayOneShotOnCamera(null); AccessTools.Method(typeof(Workshop), "Upload").Invoke(null, new object[] { selectedMod.OriginalMetaData }); }, true, null); dialog_MessageBox.buttonAText = "Yes".Translate(); dialog_MessageBox.buttonBText = "No".Translate(); dialog_MessageBox.interactionDelay = 6f; Find.WindowStack.Add(dialog_MessageBox); }, true, null)); } } } } GUI.EndGroup(); GUI.EndGroup(); DoBottomLeftWindowContents(rect); DoBottomRightWindowContents(rect); }