private void ProcessEvents()
 {
     if (Event.current.type == EventType.MouseDown && draggingNode == null)
     {
         draggingNode = GetNodeAtPoint(Event.current.mousePosition + scrollPosition);
         if (draggingNode != null)
         {
             draggingOffset         = draggingNode.GetRect().position - Event.current.mousePosition;
             Selection.activeObject = draggingNode;
         }
         else
         {
             draggingCanvas         = true;
             draggingCanvasOffset   = Event.current.mousePosition + scrollPosition;
             Selection.activeObject = selectedSceneText;
         }
     }
     else if (Event.current.type == EventType.MouseDrag && draggingNode != null)
     {
         draggingNode.SetPosition(Event.current.mousePosition + draggingOffset);
         GUI.changed = true;
     }
     else if (Event.current.type == EventType.MouseDrag && draggingCanvas)
     {
         scrollPosition = draggingCanvasOffset - Event.current.mousePosition;
         GUI.changed    = true;
     }
     else if (Event.current.type == EventType.MouseUp && draggingNode != null)
     {
         draggingNode = null;
     }
     else if (Event.current.type == EventType.MouseUp && draggingCanvas)
     {
         draggingCanvas = false;
     }
 }