浏览代码

fix mouse tracking issue

/dev_k12
xingweizhu 3 年前
当前提交
46f8a642
共有 3 个文件被更改,包括 17 次插入1 次删除
  1. 9
      com.unity.uiwidgets/Runtime/editor/editor_mouse_tracking.cs
  2. 2
      com.unity.uiwidgets/Runtime/editor/editor_window.cs
  3. 7
      com.unity.uiwidgets/Runtime/gestures/mouse_tracking.cs

9
com.unity.uiwidgets/Runtime/editor/editor_mouse_tracking.cs


var lastMouseEvent = new List<PointerEvent>();
foreach (int deviceId in this._lastMouseEvent.Keys) {
var _deviceId = deviceId;
var deviceEvent = this._lastMouseEvent[_deviceId];
//only process PointerEditorDragEvents
if (!(deviceEvent is PointerDragFromEditorEnterEvent ||
deviceEvent is PointerDragFromEditorHoverEvent ||
deviceEvent is PointerDragFromEditorExitEvent)) {
continue;
}
lastMouseEvent.Add(this._lastMouseEvent[_deviceId]);
SchedulerBinding.instance.addPostFrameCallback(_ => {
foreach (var lastEvent in lastMouseEvent) {

2
com.unity.uiwidgets/Runtime/editor/editor_window.cs


);
}
else if (evt.type == EventType.MouseUp || evt.rawType == EventType.MouseUp ||
evt.type == EventType.DragExited) {
evt.type == EventType.DragExited || evt.type == EventType.MouseLeaveWindow) {
pointerData = new PointerData(
timeStamp: Timer.timespanSinceStartup,
change: PointerChange.up,

7
com.unity.uiwidgets/Runtime/gestures/mouse_tracking.cs


foreach (int deviceId in this._lastMouseEvent.Keys) {
PointerEvent lastEvent = this._lastMouseEvent[deviceId];
//only process PointerEvents
if (!(lastEvent is PointerMoveEvent ||
lastEvent is PointerHoverEvent ||
lastEvent is PointerDownEvent)) {
continue;
}
MouseTrackerAnnotation hit = this.annotationFinder(lastEvent.position);
if (hit == null) {

正在加载...
取消
保存