private void SetSelection() { var cleanedSelectArea = _selection.area.FixNegativeSize(); _selection.RemoveAll(); var selected = _window.Nodes.Where(n => cleanedSelectArea.Overlaps(n.Data.rect)); _selection.Add(selected); _selection.area.size = Vector2.zero; _selectingArea = false; GUI.changed = true; }
private void NodeContextClick(Event e) { switch (e.type) { case EventType.MouseDown when !_selection.Contains(_clickedNode): _selection.RemoveAll(); _selection.Add(_clickedNode); GUI.changed = true; break; case EventType.MouseUp when _selection.Selected.Count == 1: _clickedNode.ShowContextMenu(); break; case EventType.MouseUp: ShowEditGroupMenu(e); break; } }