Skip to content
This repository was archived by the owner on Apr 29, 2021. It is now read-only.

Commit 164c0f5

Browse files
committed
[Feature] Rearrange the code
1 parent 95bfbde commit 164c0f5

File tree

5 files changed

+35
-22
lines changed

5 files changed

+35
-22
lines changed

Runtime/editor/editor_mouse_tracking.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ public partial class MouseTracker {
99
bool _enableDragFromEditorRelease = false;
1010

1111
void _handleDragFromEditorEvent(PointerEvent evt, int deviceId) {
12+
if (!this.inEditorWindow) {
13+
return;
14+
}
15+
1216
if (evt is PointerDragFromEditorReleaseEvent) {
1317
this._enableDragFromEditorRelease = false;
1418
this._scheduleDragFromEditorReleaseCheck();
@@ -26,6 +30,17 @@ evt is PointerDragFromEditorHoverEvent ||
2630
}
2731
}
2832

33+
void detachDragFromEditorAnnotation(MouseTrackerAnnotation annotation, int deviceId) {
34+
if (!this.inEditorWindow) {
35+
return;
36+
}
37+
38+
if (annotation.onDragFromEditorExit != null) {
39+
annotation.onDragFromEditorExit(
40+
PointerDragFromEditorExitEvent.fromDragFromEditorEvent(this._lastMouseEvent[deviceId]));
41+
}
42+
}
43+
2944
void _scheduleDragFromEditorReleaseCheck() {
3045
DragAndDrop.AcceptDrag();
3146

@@ -85,6 +100,10 @@ void _enableDragFromEditorReleaseVisualModeLoop() {
85100
}
86101

87102
void _scheduleDragFromEditorMousePositionCheck() {
103+
if (!this.inEditorWindow) {
104+
return;
105+
}
106+
88107
SchedulerBinding.instance.addPostFrameCallback(_ => { this.collectDragFromEditorMousePositions(); });
89108
SchedulerBinding.instance.scheduleFrame();
90109
}

Runtime/editor/editor_window.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,8 @@ public interface WindowHost {
126126
public abstract class WindowAdapter : Window {
127127
static readonly List<WindowAdapter> _windowAdapters = new List<WindowAdapter>();
128128

129-
public WindowAdapter(bool inEditor = false) {
130-
this.inEditor = inEditor;
129+
public WindowAdapter(bool inEditorWindow = false) {
130+
this.inEditorWindow = inEditorWindow;
131131
}
132132

133133
public static List<WindowAdapter> windowAdapters {
@@ -218,14 +218,14 @@ public void OnDisable() {
218218
this._surface = null;
219219
}
220220

221-
readonly protected bool inEditor;
221+
readonly protected bool inEditorWindow;
222222

223223
public override IDisposable getScope() {
224224
WindowAdapter oldInstance = (WindowAdapter) _instance;
225225
_instance = this;
226226

227227
if (this._binding == null) {
228-
this._binding = new WidgetsBinding(this.inEditor);
228+
this._binding = new WidgetsBinding(this.inEditorWindow);
229229
}
230230

231231
SchedulerBinding._instance = this._binding;

Runtime/gestures/mouse_tracking.cs

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,14 @@ public partial class MouseTracker {
7575
public MouseTracker(
7676
PointerRouter router,
7777
MouseDetectorAnnotationFinder annotationFinder,
78-
bool inEditor = false
78+
bool inEditorWindow = false
7979
) {
8080
router.addGlobalRoute(this._handleEvent);
8181
this.annotationFinder = annotationFinder;
82-
this.inEditor = inEditor;
82+
this.inEditorWindow = inEditorWindow;
8383
}
8484

85-
readonly bool inEditor;
85+
readonly bool inEditorWindow;
8686

8787
readonly Dictionary<int, PointerEvent> _lastMouseEvent = new Dictionary<int, PointerEvent>();
8888

@@ -100,9 +100,7 @@ public void attachAnnotation(MouseTrackerAnnotation annotation) {
100100
this._scheduleMousePositionCheck();
101101

102102
#if UNITY_EDITOR
103-
if (this.inEditor) {
104-
this._scheduleDragFromEditorMousePositionCheck();
105-
}
103+
this._scheduleDragFromEditorMousePositionCheck();
106104
#endif
107105
}
108106

@@ -114,11 +112,8 @@ public void detachAnnotation(MouseTrackerAnnotation annotation) {
114112
PointerExitEvent.fromHoverEvent((PointerHoverEvent) this._lastMouseEvent[deviceId]));
115113
}
116114
#if UNITY_EDITOR
117-
if (this.inEditor && annotation.onDragFromEditorExit != null) {
118-
annotation.onDragFromEditorExit(
119-
PointerDragFromEditorExitEvent.fromDragFromEditorEvent(this._lastMouseEvent[deviceId]));
115+
this.detachDragFromEditorAnnotation(annotation, deviceId);
120116
#endif
121-
}
122117
}
123118

124119
this._trackedAnnotations.Remove(annotation);
@@ -162,9 +157,7 @@ evt is PointerHoverEvent ||
162157
}
163158

164159
#if UNITY_EDITOR
165-
if (this.inEditor) {
166-
this._handleDragFromEditorEvent(evt, deviceId);
167-
}
160+
this._handleDragFromEditorEvent(evt, deviceId);
168161
#endif
169162
}
170163

@@ -232,6 +225,7 @@ void exitAllDevices(_TrackedAnnotation trackedAnnotation) {
232225
}
233226

234227
_TrackedAnnotation hitAnnotation = this._findAnnotation(hit);
228+
235229
//enter
236230
if (!hitAnnotation.activeDevices.Contains(deviceId)) {
237231
hitAnnotation.activeDevices.Add(deviceId);

Runtime/rendering/binding.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class RendererBinding : PaintingBinding {
1111
set { PaintingBinding.instance = value; }
1212
}
1313

14-
public RendererBinding(bool inEditor = false) {
14+
public RendererBinding(bool inEditorWindow = false) {
1515
this._pipelineOwner = new PipelineOwner(
1616
onNeedVisualUpdate: this.ensureVisualUpdate
1717
);
@@ -22,7 +22,7 @@ public RendererBinding(bool inEditor = false) {
2222
D.assert(this.renderView != null);
2323
this.addPersistentFrameCallback(this._handlePersistentFrameCallback);
2424

25-
this.inEditor = inEditor;
25+
this.inEditorWindow = inEditorWindow;
2626
this._mouseTracker = this._createMouseTracker();
2727
}
2828

@@ -72,14 +72,14 @@ void _handlePersistentFrameCallback(TimeSpan timeStamp) {
7272
this.drawFrame();
7373
}
7474

75-
readonly protected bool inEditor;
75+
readonly protected bool inEditorWindow;
7676

7777
MouseTracker _createMouseTracker() {
7878
return new MouseTracker(this.pointerRouter, (Offset offset) => {
7979
return this.renderView.layer.find<MouseTrackerAnnotation>(
8080
offset
8181
);
82-
}, this.inEditor);
82+
}, this.inEditorWindow);
8383
}
8484

8585
protected virtual void drawFrame() {

Runtime/widgets/binding.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class WidgetsBinding : RendererBinding {
2727
set { RendererBinding.instance = value; }
2828
}
2929

30-
public WidgetsBinding(bool inEditor = false) : base(inEditor) {
30+
public WidgetsBinding(bool inEditorWindow = false) : base(inEditorWindow) {
3131
this.buildOwner.onBuildScheduled = this._handleBuildScheduled;
3232
Window.instance.onLocaleChanged += this.handleLocaleChanged;
3333
this.widgetInspectorService = new WidgetInspectorService(this);

0 commit comments

Comments
 (0)