Esempio n. 1
0
        public override void OnXGUI()
        {
            base.OnXGUI();

            Event e = Event.current;


            keyboardState.HandleInput(e);

            graphCamera.HandleInput(e);

            HandleSelect(e);
            HandleCopy(e);
            HandleDrag(e);
            HandleDragPerform(e);
            HandleDelete(e);

            var allNodes = DragNodes();

            for (int i = 0; i < allNodes.Length; i++)
            {
                allNodes[i].DrawPosition = WorldToScreen(allNodes[i].Position);
                allNodes[i].Draw();
            }

            bool inputProcessed = false;

            foreach (var node in allNodes)
            {
                if (node == null)
                {
                    continue;
                }
                inputProcessed = HandleNodeInput(node, e, graphCamera);
                if (inputProcessed)
                {
                    break;
                }
            }

            if (!inputProcessed)
            {
                selectionBox.HandleInput(e);
                HandleEvent(e);
            }

            selectionBox.Draw();

            if (e != null)
            {
//				e.Use();
                Repaint();
            }
        }