private void HandleCtrlClick(Event e) { if (e.keyCode == KeyCode.LeftControl && e.type == EventType.KeyDown) { _toggleSelectionMode = true; } if (e.keyCode == KeyCode.LeftControl && e.type == EventType.KeyUp) { _toggleSelectionMode = false; } if (!_toggleSelectionMode) { return; } if (e.type == EventType.MouseDown && _clickedNode != null) { if (_selection.Contains(_clickedNode)) { _selection.Remove(_clickedNode); } else { _selection.Add(_clickedNode); } 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; } }