protected override void FillTab() { if (this.rightClicked != null && this.infoFloatMenu != null && Find.WindowStack.Top() != this.infoFloatMenu) { this.rightClicked = null; this.infoFloatMenu = null; } Text.Font = GameFont.Small; IPlantToGrowSettable plantToGrowSettable = (IPlantToGrowSettable)Find.Selector.SelectedObjects.First <object>(); Rect position = new Rect(ITab_Growing_Alternate.PaddingSize.x, ITab_Growing_Alternate.PaddingSize.y, ITab_Growing_Alternate.ContentSize.x, ITab_Growing_Alternate.ContentSize.y); GUI.BeginGroup(position); Rect viewRect = new Rect(0f, 0f, position.width, position.height); this.scrollView.Begin(viewRect); float num = 0f; int num2 = 0; foreach (ThingDef current in GenPlant.ValidPlantTypesForGrower(Find.Selector.SingleSelectedObject)) { float num3 = Text.CalcHeight(current.LabelCap, ITab_Growing_Alternate.ContentSize.x - 32f); if (num3 < 30f) { num3 = 30f; } GUI.color = Color.white; Rect rect = new Rect(0f, num + 1f, ITab_Growing_Alternate.ContentSize.x - 28f, num3); Rect position2 = new Rect(0f, rect.y - 1f, rect.width, rect.height + 2f); Vector2 mousePosition = Event.current.mousePosition; if (position2.Contains(mousePosition) && mousePosition.y > this.scrollView.Position.y && mousePosition.y < this.scrollView.Position.y + this.scrollView.ViewHeight) { GUI.DrawTexture(position2, TexUI.HighlightTex); } else if (num2 % 2 == 0) { GUI.DrawTexture(position2, TabDrawer.AlternateRowTexture); } rect.x += 6f; rect.y += 3f; rect.width -= 4f; Widgets.InfoCardButton(rect.x, rect.y, current); rect.x += 34f; rect.width -= 34f; if ((Widgets.InvisibleButton(new Rect(rect.x, rect.y, rect.width - 36f, rect.height)) || WidgetDrawer.DrawLabeledRadioButton(rect, current.LabelCap, current == plantToGrowSettable.GetPlantDefToGrow(), false)) && plantToGrowSettable.GetPlantDefToGrow() != current) { plantToGrowSettable.SetPlantDefToGrow(current); SoundDefOf.RadioButtonClicked.PlayOneShotOnCamera(); ConceptDatabase.KnowledgeDemonstrated(ConceptDefOf.SetGrowingZonePlant, KnowledgeAmount.Total); } num += num3; num += 2f; num2++; } this.scrollView.End(num); TutorUIHighlighter.HighlightOpportunity("GrowingZoneSetPlant", new Rect(0f, 0f, ITab_Growing_Alternate.ContentSize.x, num)); GUI.EndGroup(); }
private void DoTabButton(MainTabDef def, float posX, float width) { Text.Font = GameFont.Small; Rect rect = new Rect(posX, (float)(Screen.height - 35), width, 35f); SoundDef mouseoverButtonCategory = SoundDefOf.MouseoverButtonCategory; if (WidgetsSubtle.ButtonSubtle(rect, def.LabelCap, def.Window.TabButtonBarPercent, -1f, mouseoverButtonCategory)) { this.ToggleTab(def, true); } if (!def.tutorHighlightTag.NullOrEmpty()) { TutorUIHighlighter.HighlightOpportunity(def.tutorHighlightTag, rect); } if (!def.description.NullOrEmpty()) { TooltipHandler.TipRegion(rect, def.description); } }
private void DoTabs(IEnumerable <ITab> tabs) { try { Type openTabType = this.OpenTabType; float top = base.PaneTopY - 30f; float num = 360f; float width = 0f; bool flag = false; foreach (ITab current in tabs) { if (current.IsVisible) { Rect rect = new Rect(num, top, 72f, 30f); width = num; Text.Font = GameFont.Small; if (Widgets.TextButton(rect, current.labelKey.Translate(), true, false)) { this.ToggleTab(current); } if (!current.tutorHighlightTag.NullOrEmpty()) { TutorUIHighlighter.HighlightOpportunity(current.tutorHighlightTag, rect); } if (current.GetType() == openTabType) { this.DoTabGui(current); this.RecentHeight = 700f; flag = true; } num -= 72f; } } if (flag) { GUI.DrawTexture(new Rect(0f, top, width, 30f), MainTabWindow_Inspect.TabButtonFillTex); } } catch (Exception ex) { Log.ErrorOnce(ex.ToString(), 742783); } }
protected override void FillTab() { ConceptDatabase.KnowledgeDemonstrated(ConceptDefOf.StorageTab, KnowledgeAmount.GuiFrame); ConceptDecider.TeachOpportunity(ConceptDefOf.StorageTabCategories, OpportunityType.GuiFrame); ConceptDecider.TeachOpportunity(ConceptDefOf.StoragePriority, OpportunityType.GuiFrame); IStoreSettingsParent selStoreSettingsParent = this.SelStoreSettingsParent; StorageSettings settings = selStoreSettingsParent.GetStoreSettings(); Rect position = new Rect(0f, 0f, ITab_Storage_Enhanced.WinSize.x, ITab_Storage_Enhanced.WinSize.y).ContractedBy(10f); GUI.BeginGroup(position); Text.Font = GameFont.Small; Rect rect = new Rect(0f, 0f, 160f, 29f); if (Widgets.TextButton(rect, "Priority".Translate() + ": " + settings.Priority.Label(), true, false)) { List <FloatMenuOption> list = new List <FloatMenuOption>(); IEnumerator enumerator = Enum.GetValues(typeof(StoragePriority)).GetEnumerator(); try { while (enumerator.MoveNext()) { StoragePriority storagePriority = (StoragePriority)((byte)enumerator.Current); if (storagePriority != StoragePriority.Unstored) { StoragePriority localPr = storagePriority; list.Add(new FloatMenuOption(localPr.Label(), delegate { settings.Priority = localPr; ConceptDatabase.KnowledgeDemonstrated(ConceptDefOf.StoragePriority, KnowledgeAmount.Total); }, MenuOptionPriority.Medium, null, null)); } } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } Find.WindowStack.Add(new FloatMenu(list, false)); } var clearSearchRect = new Rect(position.width - 33f, (29f - 14f) / 2f, 14f, 14f); var shouldClearSearch = (Widgets.ImageButton(clearSearchRect, Widgets.CheckboxOffTex)); var searchRect = new Rect(165f, 0f, position.width - 160f - 20f, 29f); var watermark = (searchText != string.Empty || isFocused) ? searchText : "Search"; var escPressed = (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Escape); var clickedOutside = (!Mouse.IsOver(searchRect) && Event.current.type == EventType.MouseDown); if (!isFocused) { GUI.color = new Color(1f, 1f, 1f, 0.6f); } GUI.SetNextControlName("StorageSearchInput"); var searchInput = Widgets.TextField(searchRect, watermark); GUI.color = Color.white; if (isFocused) { searchText = searchInput; } if ((GUI.GetNameOfFocusedControl() == "StorageSearchInput" || isFocused) && (escPressed || clickedOutside)) { GUIUtility.keyboardControl = 0; isFocused = false; } else if (GUI.GetNameOfFocusedControl() == "StorageSearchInput" && !isFocused) { isFocused = true; } if (shouldClearSearch) { searchText = string.Empty; } TutorUIHighlighter.HighlightOpportunity("StoragePriority", rect); ThingFilter parentFilter = null; if (selStoreSettingsParent.GetParentStoreSettings() != null) { parentFilter = selStoreSettingsParent.GetParentStoreSettings().filter; } Rect rect2 = new Rect(0f, 35f, position.width, position.height - 35f); HelperThingFilterUI.DoThingFilterConfigWindow(rect2, ref this.scrollPosition, settings.filter, parentFilter, 8, searchText); GUI.EndGroup(); }