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; } }