diff --git a/Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/BaseNodeView.uss b/Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/BaseNodeView.uss index e4956a29..80baf081 100644 --- a/Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/BaseNodeView.uss +++ b/Assets/com.alelievr.NodeGraphProcessor/Editor/Resources/GraphProcessorStyles/BaseNodeView.uss @@ -242,7 +242,7 @@ ParameterNodeView #controls EnumField > VisualElement > VisualElement { align-content: center; } -#collapse-button: +#collapse-button { width: 16px; height: 16px; diff --git a/Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/BaseEdgeDragHelper.cs b/Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/BaseEdgeDragHelper.cs index 0d41bed8..1ef9c4a3 100644 --- a/Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/BaseEdgeDragHelper.cs +++ b/Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/BaseEdgeDragHelper.cs @@ -98,11 +98,10 @@ public override void Reset(bool didConnect = false) graphView = null; } - - public override bool HandleMouseDown(MouseDownEvent evt) + public override bool HandleMouseDown(MouseDownEvent evt) => HandleMouseDownEvent(evt.mousePosition); + + bool HandleMouseDownEvent(Vector2 mousePosition) { - Vector2 mousePosition = evt.mousePosition; - if ((draggedPort == null) || (edgeCandidate == null)) { return false; @@ -195,10 +194,12 @@ internal Vector2 GetEffectivePanSpeed(Vector2 mousePos) } Vector2 lastMousePos; - public override void HandleMouseMove(MouseMoveEvent evt) + + public override void HandleMouseMove(MouseMoveEvent evt) => + HandleMouseMoveEvent((VisualElement)evt.target, evt.mousePosition, evt.localMousePosition); + void HandleMouseMoveEvent(VisualElement ve, Vector2 mousePosition, Vector2 localMousePosition) { - var ve = (VisualElement)evt.target; - Vector2 gvMousePos = ve.ChangeCoordinatesTo(graphView.contentContainer, evt.localMousePosition); + Vector2 gvMousePos = ve.ChangeCoordinatesTo(graphView.contentContainer, localMousePosition); panDiff = GetEffectivePanSpeed(gvMousePos); if (panDiff != Vector3.zero) @@ -206,8 +207,7 @@ public override void HandleMouseMove(MouseMoveEvent evt) else panSchedule.Pause(); - Vector2 mousePosition = evt.mousePosition; - lastMousePos = evt.mousePosition; + lastMousePos = mousePosition; edgeCandidate.candidatePosition = mousePosition; @@ -277,12 +277,12 @@ private void Pan(TimerState ts) wasPanned = true; } - public override void HandleMouseUp(MouseUpEvent evt) + public override void HandleMouseUp(MouseUpEvent evt) => HandleMouseUpEvent(evt.mousePosition); + + void HandleMouseUpEvent(Vector2 mousePosition) { bool didConnect = false; - Vector2 mousePosition = evt.mousePosition; - // Reset the highlights. graphView.ports.ForEach((p) => { p.OnStopEdgeDragging(); @@ -359,6 +359,14 @@ public override void HandleMouseUp(MouseUpEvent evt) Reset(didConnect); } +#if UNITY_6000_0_58_OR_NEWER + public override bool HandlePointerDown(PointerDownEvent evt) => HandleMouseDownEvent(evt.position); + + public override void HandlePointerMove(PointerMoveEvent evt) => HandleMouseMoveEvent((VisualElement)evt.target, evt.position, evt.localPosition); + + public override void HandlePointerUp(PointerUpEvent evt) => HandleMouseUpEvent(evt.position); +#endif + Rect GetPortBounds(BaseNodeView nodeView, int index, List portList) { var port = portList[index]; diff --git a/Assets/com.alelievr.NodeGraphProcessor/Editor/Views/BaseGraphView.cs b/Assets/com.alelievr.NodeGraphProcessor/Editor/Views/BaseGraphView.cs index 7940f6ee..1018d420 100644 --- a/Assets/com.alelievr.NodeGraphProcessor/Editor/Views/BaseGraphView.cs +++ b/Assets/com.alelievr.NodeGraphProcessor/Editor/Views/BaseGraphView.cs @@ -114,7 +114,6 @@ public class BaseGraphView : GraphView, IDisposable /// /// Object to handle nodes that shows their UI in the inspector. /// - [SerializeField] protected NodeInspectorObject nodeInspector { get diff --git a/Assets/com.alelievr.NodeGraphProcessor/Editor/com.alelievr.NodeGraphProcessor.Editor.asmdef b/Assets/com.alelievr.NodeGraphProcessor/Editor/com.alelievr.NodeGraphProcessor.Editor.asmdef index 436fc239..2edcf7e3 100644 --- a/Assets/com.alelievr.NodeGraphProcessor/Editor/com.alelievr.NodeGraphProcessor.Editor.asmdef +++ b/Assets/com.alelievr.NodeGraphProcessor/Editor/com.alelievr.NodeGraphProcessor.Editor.asmdef @@ -1,5 +1,6 @@ { "name": "com.alelievr.NodeGraphProcessor.Editor", + "rootNamespace": "", "references": [ "GUID:ca937d03ee5dd4d699091438dc0f3ae6" ], @@ -12,5 +13,12 @@ "precompiledReferences": [], "autoReferenced": true, "defineConstraints": [], - "versionDefines": [] + "versionDefines": [ + { + "name": "Unity", + "expression": "6000.0.58", + "define": "UNITY_6000_0_58_OR_NEWER" + } + ], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/com.alelievr.NodeGraphProcessor/package.json b/Assets/com.alelievr.NodeGraphProcessor/package.json index 44ca0cbb..632acfe9 100644 --- a/Assets/com.alelievr.NodeGraphProcessor/package.json +++ b/Assets/com.alelievr.NodeGraphProcessor/package.json @@ -1,7 +1,7 @@ { "name": "com.alelievr.node-graph-processor", "displayName": "Node Graph Processor", - "version": "1.3.0", + "version": "1.3.1", "unity": "2020.3", "description": "Node graph editor framework focused on data processing using Unity UIElements and C# 4.7", "keywords": [