public virtual void WindowOnGUI() { if (resizeable) { if (resizer == null) { resizer = new WindowResizer(); } if (resizeLater) { resizeLater = false; windowRect = resizeLaterRect; } } windowRect = windowRect.Rounded(); windowRect = GUI.Window(ID, windowRect, innerWindowOnGUICached, "", Widgets.EmptyStyle); }
public virtual void WindowOnGUI() { if (resizeable) { if (resizer == null) { resizer = new WindowResizer(); } if (resizeLater) { resizeLater = false; windowRect = resizeLaterRect; } } windowRect = windowRect.Rounded(); Rect winRect = windowRect.AtZero(); windowRect = GUI.Window(ID, windowRect, delegate { UnityGUIBugsFixer.OnGUI(); Find.WindowStack.currentlyDrawnWindow = this; if (doWindowBackground) { Widgets.DrawWindowBackground(winRect); } if (KeyBindingDefOf.Cancel.KeyDownEvent) { Find.WindowStack.Notify_PressedCancel(); } if (KeyBindingDefOf.Accept.KeyDownEvent) { Find.WindowStack.Notify_PressedAccept(); } if (Event.current.type == EventType.MouseDown) { Find.WindowStack.Notify_ClickedInsideWindow(this); } if (Event.current.type == EventType.KeyDown && !Find.WindowStack.GetsInput(this)) { Event.current.Use(); } if (!optionalTitle.NullOrEmpty()) { GUI.Label(new Rect(Margin, Margin, windowRect.width, 25f), optionalTitle); } if (doCloseX && Widgets.CloseButtonFor(winRect)) { Close(); } if (resizeable && Event.current.type != EventType.Repaint) { Rect lhs = resizer.DoResizeControl(windowRect); if (lhs != windowRect) { resizeLater = true; resizeLaterRect = lhs; } } Rect rect = winRect.ContractedBy(Margin); if (!optionalTitle.NullOrEmpty()) { rect.yMin += Margin + 25f; } GUI.BeginGroup(rect); try { DoWindowContents(rect.AtZero()); } catch (Exception ex) { Log.Error("Exception filling window for " + GetType() + ": " + ex); } GUI.EndGroup(); if (resizeable && Event.current.type == EventType.Repaint) { resizer.DoResizeControl(windowRect); } if (doCloseButton) { Text.Font = GameFont.Small; float num = winRect.width / 2f; Vector2 closeButSize = CloseButSize; float x2 = num - closeButSize.x / 2f; float y = winRect.height - 55f; Vector2 closeButSize2 = CloseButSize; float x3 = closeButSize2.x; Vector2 closeButSize3 = CloseButSize; Rect rect2 = new Rect(x2, y, x3, closeButSize3.y); if (Widgets.ButtonText(rect2, "CloseButton".Translate())) { Close(); } } if (KeyBindingDefOf.Cancel.KeyDownEvent && IsOpen) { OnCancelKeyPressed(); } if (draggable) { GUI.DragWindow(); } else if (Event.current.type == EventType.MouseDown) { Event.current.Use(); } ScreenFader.OverlayOnGUI(winRect.size); Find.WindowStack.currentlyDrawnWindow = null; }, string.Empty, Widgets.EmptyStyle); }
public virtual void WindowOnGUI() { if (this.resizeable) { if (this.resizer == null) { this.resizer = new WindowResizer(); } if (this.resizeLater) { this.resizeLater = false; this.windowRect = this.resizeLaterRect; } } this.windowRect = this.windowRect.Rounded(); Rect winRect = this.windowRect.AtZero(); this.windowRect = GUI.Window(this.ID, this.windowRect, delegate(int x) { UnityGUIBugsFixer.OnGUI(); Find.WindowStack.currentlyDrawnWindow = this; if (this.doWindowBackground) { Widgets.DrawWindowBackground(winRect); } if (KeyBindingDefOf.Cancel.KeyDownEvent) { Find.WindowStack.Notify_PressedCancel(); } if (KeyBindingDefOf.Accept.KeyDownEvent) { Find.WindowStack.Notify_PressedAccept(); } if (Event.current.type == EventType.MouseDown) { Find.WindowStack.Notify_ClickedInsideWindow(this); } if (Event.current.type == EventType.KeyDown && !Find.WindowStack.GetsInput(this)) { Event.current.Use(); } if (!this.optionalTitle.NullOrEmpty()) { GUI.Label(new Rect(this.Margin, this.Margin, this.windowRect.width, 25f), this.optionalTitle); } if (this.doCloseX && Widgets.CloseButtonFor(winRect)) { this.Close(true); } if (this.resizeable && Event.current.type != EventType.Repaint) { Rect lhs = this.resizer.DoResizeControl(this.windowRect); if (lhs != this.windowRect) { this.resizeLater = true; this.resizeLaterRect = lhs; } } Rect rect = winRect.ContractedBy(this.Margin); if (!this.optionalTitle.NullOrEmpty()) { rect.yMin += this.Margin + 25f; } GUI.BeginGroup(rect); try { this.DoWindowContents(rect.AtZero()); } catch (Exception ex) { Log.Error(string.Concat(new object[] { "Exception filling window for ", this.GetType(), ": ", ex }), false); } GUI.EndGroup(); if (this.resizeable && Event.current.type == EventType.Repaint) { this.resizer.DoResizeControl(this.windowRect); } if (this.doCloseButton) { Text.Font = GameFont.Small; Rect rect2 = new Rect(winRect.width / 2f - this.CloseButSize.x / 2f, winRect.height - 55f, this.CloseButSize.x, this.CloseButSize.y); if (Widgets.ButtonText(rect2, "CloseButton".Translate(), true, false, true)) { this.Close(true); } } if (KeyBindingDefOf.Cancel.KeyDownEvent && this.IsOpen) { this.OnCancelKeyPressed(); } if (this.draggable) { GUI.DragWindow(); } else if (Event.current.type == EventType.MouseDown) { Event.current.Use(); } ScreenFader.OverlayOnGUI(winRect.size); Find.WindowStack.currentlyDrawnWindow = null; }, string.Empty, Widgets.EmptyStyle); }
public virtual void WindowOnGUI() { if (this.resizeable) { if (this.resizer == null) { this.resizer = new WindowResizer(); } if (this.resizeLater) { this.resizeLater = false; this.windowRect = this.resizeLaterRect; } } this.windowRect = this.windowRect.Rounded(); Rect winRect = this.windowRect.AtZero(); this.windowRect = GUI.Window(this.ID, this.windowRect, delegate(int x) { UnityGUIBugsFixer.OnGUI(); Find.WindowStack.currentlyDrawnWindow = this; if (this.doWindowBackground) { Widgets.DrawWindowBackground(winRect); } if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Escape) { Find.WindowStack.Notify_PressedEscape(); } if (Event.current.type == EventType.MouseDown) { Find.WindowStack.Notify_ClickedInsideWindow(this); } if (Event.current.type == EventType.KeyDown && !Find.WindowStack.GetsInput(this)) { Event.current.Use(); } if (!this.optionalTitle.NullOrEmpty()) { GUI.Label(new Rect(this.Margin, this.Margin, this.windowRect.width, 25f), this.optionalTitle); } if (this.doCloseX && Widgets.CloseButtonFor(winRect)) { this.Close(true); } if (this.resizeable && Event.current.type != EventType.Repaint) { Rect lhs = this.resizer.DoResizeControl(this.windowRect); if (lhs != this.windowRect) { this.resizeLater = true; this.resizeLaterRect = lhs; } } Rect rect = winRect.ContractedBy(this.Margin); if (!this.optionalTitle.NullOrEmpty()) { rect.yMin += (float)(this.Margin + 25.0); } GUI.BeginGroup(rect); try { this.DoWindowContents(rect.AtZero()); } catch (Exception ex) { Log.Error("Exception filling window for " + base.GetType().ToString() + ": " + ex); } GUI.EndGroup(); if (this.resizeable && Event.current.type == EventType.Repaint) { this.resizer.DoResizeControl(this.windowRect); } if (this.doCloseButton) { Text.Font = GameFont.Small; double num = winRect.width / 2.0; Vector2 closeButSize = this.CloseButSize; double x2 = num - closeButSize.x / 2.0; double y = winRect.height - 55.0; Vector2 closeButSize2 = this.CloseButSize; float x3 = closeButSize2.x; Vector2 closeButSize3 = this.CloseButSize; Rect rect2 = new Rect((float)x2, (float)y, x3, closeButSize3.y); if (Widgets.ButtonText(rect2, "CloseButton".Translate(), true, false, true)) { this.Close(true); } } if (this.closeOnEscapeKey && Event.current.type == EventType.KeyDown && (Event.current.keyCode == KeyCode.Escape || Event.current.keyCode == KeyCode.Return)) { this.Close(true); Event.current.Use(); } if (this.draggable) { GUI.DragWindow(); } else if (Event.current.type == EventType.MouseDown) { Event.current.Use(); } ScreenFader.OverlayOnGUI(winRect.size); Find.WindowStack.currentlyDrawnWindow = null; }, string.Empty, Widgets.EmptyStyle); }