public void HandleEventsHighPriority() { if (Event.current.type == EventType.MouseDown && this.GetWindowAt(UI.GUIToScreenPoint(Event.current.mousePosition)) == null) { bool flag = this.CloseWindowsBecauseClicked(null); if (flag) { Event.current.Use(); } } if (KeyBindingDefOf.Cancel.KeyDownEvent) { this.Notify_PressedCancel(); } if (KeyBindingDefOf.Accept.KeyDownEvent) { this.Notify_PressedAccept(); } if (Event.current.type == EventType.MouseDown || Event.current.type == EventType.KeyDown) { if (!this.GetsInput(null)) { Event.current.Use(); } } }
public static bool Reorderable(int groupID, Rect rect) { if (Event.current.type == EventType.Repaint) { ReorderableInstance item = default(ReorderableInstance); item.groupID = groupID; item.rect = rect; item.absRect = new Rect(UI.GUIToScreenPoint(rect.position), rect.size); ReorderableWidget.reorderables.Add(item); int num = ReorderableWidget.reorderables.Count - 1; if (ReorderableWidget.draggingReorderable != -1 && Vector2.Distance(ReorderableWidget.clickedAt, Event.current.mousePosition) > 5.0) { if (!ReorderableWidget.dragBegun) { SoundDefOf.TickTiny.PlayOneShotOnCamera(null); ReorderableWidget.dragBegun = true; } if (ReorderableWidget.draggingReorderable == num) { GUI.color = ReorderableWidget.HighlightColor; Widgets.DrawHighlight(rect); GUI.color = Color.white; } if (ReorderableWidget.lastInsertAt == num) { ReorderableInstance reorderableInstance = ReorderableWidget.reorderables[ReorderableWidget.lastInsertAt]; Rect rect2 = reorderableInstance.rect; Vector2 mousePosition = Event.current.mousePosition; float y = mousePosition.y; Vector2 center = rect2.center; bool flag = y < center.y; GUI.color = ReorderableWidget.LineColor; if (flag) { Widgets.DrawLine(rect2.position, new Vector2(rect2.x + rect2.width, rect2.y), ReorderableWidget.LineColor, 2f); } else { Widgets.DrawLine(new Vector2(rect2.x, rect2.yMax), new Vector2(rect2.x + rect2.width, rect2.yMax), ReorderableWidget.LineColor, 2f); } GUI.color = Color.white; } } return(ReorderableWidget.draggingReorderable == num && ReorderableWidget.dragBegun); } if (Event.current.rawType == EventType.MouseUp) { ReorderableWidget.released = true; } if (Event.current.type == EventType.MouseDown && Mouse.IsOver(rect)) { ReorderableWidget.clicked = true; ReorderableWidget.clickedAt = Event.current.mousePosition; ReorderableWidget.clickedInRect = rect; } return(false); }
public void HandleEventsHighPriority() { if (Event.current.type == EventType.MouseDown && this.GetWindowAt(UI.GUIToScreenPoint(Event.current.mousePosition)) == null) { bool flag = this.CloseWindowsBecauseClicked(null); if (flag) { Event.current.Use(); } } if (Event.current.type == EventType.KeyDown && Event.current.keyCode == KeyCode.Escape) { this.Notify_PressedEscape(); } if ((Event.current.type == EventType.MouseDown || Event.current.type == EventType.KeyDown) && !this.GetsInput(null)) { Event.current.Use(); } }
private static void FixDelta() { Vector2 vector = UI.GUIToScreenPoint(Event.current.mousePosition); if (Event.current.rawType == EventType.MouseDrag) { Vector2 value = vector; Vector2?rhs = lastMousePosition; if (value != rhs || Time.frameCount != lastMousePositionFrame) { if (lastMousePosition.HasValue) { currentEventDelta = vector - lastMousePosition.Value; } else { currentEventDelta = default(Vector2); } lastMousePosition = vector; lastMousePositionFrame = Time.frameCount; } } else { currentEventDelta = Event.current.delta; if (Event.current.rawType == EventType.MouseDown) { lastMousePosition = vector; lastMousePositionFrame = Time.frameCount; } else if (Event.current.rawType == EventType.MouseUp) { lastMousePosition = null; } } }
public static bool Reorderable(int groupID, Rect rect, bool useRightButton = false) { bool result; if (Event.current.type == EventType.Repaint) { ReorderableWidget.ReorderableInstance item = default(ReorderableWidget.ReorderableInstance); item.groupID = groupID; item.rect = rect; item.absRect = new Rect(UI.GUIToScreenPoint(rect.position), rect.size); ReorderableWidget.reorderables.Add(item); int num = ReorderableWidget.reorderables.Count - 1; if (ReorderableWidget.draggingReorderable != -1 && (ReorderableWidget.dragBegun || Vector2.Distance(ReorderableWidget.clickedAt, Event.current.mousePosition) > 5f)) { if (!ReorderableWidget.dragBegun) { SoundDefOf.Tick_Tiny.PlayOneShotOnCamera(null); ReorderableWidget.dragBegun = true; } if (ReorderableWidget.draggingReorderable == num) { GUI.color = ReorderableWidget.HighlightColor; Widgets.DrawHighlight(rect); GUI.color = Color.white; } if (ReorderableWidget.lastInsertNear == num && groupID >= 0 && groupID < ReorderableWidget.groups.Count) { Rect rect2 = ReorderableWidget.reorderables[ReorderableWidget.lastInsertNear].rect; ReorderableWidget.ReorderableGroup reorderableGroup = ReorderableWidget.groups[groupID]; if (reorderableGroup.DrawLineExactlyBetween) { if (reorderableGroup.direction == ReorderableDirection.Horizontal) { rect2.xMin -= reorderableGroup.drawLineExactlyBetween_space / 2f; rect2.xMax += reorderableGroup.drawLineExactlyBetween_space / 2f; } else { rect2.yMin -= reorderableGroup.drawLineExactlyBetween_space / 2f; rect2.yMax += reorderableGroup.drawLineExactlyBetween_space / 2f; } } GUI.color = ReorderableWidget.LineColor; if (reorderableGroup.direction == ReorderableDirection.Horizontal) { if (ReorderableWidget.lastInsertNearLeft) { Widgets.DrawLine(rect2.position, new Vector2(rect2.x, rect2.yMax), ReorderableWidget.LineColor, 2f); } else { Widgets.DrawLine(new Vector2(rect2.xMax, rect2.y), new Vector2(rect2.xMax, rect2.yMax), ReorderableWidget.LineColor, 2f); } } else if (ReorderableWidget.lastInsertNearLeft) { Widgets.DrawLine(rect2.position, new Vector2(rect2.xMax, rect2.y), ReorderableWidget.LineColor, 2f); } else { Widgets.DrawLine(new Vector2(rect2.x, rect2.yMax), new Vector2(rect2.xMax, rect2.yMax), ReorderableWidget.LineColor, 2f); } GUI.color = Color.white; } } result = (ReorderableWidget.draggingReorderable == num && ReorderableWidget.dragBegun); } else { if (Event.current.rawType == EventType.MouseUp) { ReorderableWidget.released = true; } if (Event.current.type == EventType.MouseDown && ((useRightButton && Event.current.button == 1) || (!useRightButton && Event.current.button == 0)) && Mouse.IsOver(rect)) { ReorderableWidget.clicked = true; ReorderableWidget.clickedAt = Event.current.mousePosition; ReorderableWidget.clickedInRect = rect; } result = false; } return(result); }