public void DragSelection() { if (SelectedNodes.Count < 2) { return; } NodeView draggedNode = null; foreach (var node in SelectedNodes) { if (node.IsDragged()) { draggedNode = node; break; } } if (draggedNode == null) { return; } foreach (var node in SelectedNodes) { if (node != draggedNode) { node.DragNode(draggedNode.DragVector()); node.ClearDrag(); } } draggedNode.ClearDrag(); }
public void DragSelection() { //TODO: Sometimes nodes might move with varying speeds // Haven't found a way to reproduce this. if (SelectedNodes.Count < 2) { return; } NodeView draggedNode = null; foreach (var node in SelectedNodes) { if (node.IsDragged()) { draggedNode = node; break; } } if (draggedNode == null) { return; } foreach (var node in SelectedNodes) { if (node != draggedNode) { node.DragNode(draggedNode.DragVector()); node.ClearDrag(); } } draggedNode.ClearDrag(); }