Example #1
0
        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;
            }
        }