Пример #1
0
        public void ManagePan(Event currentEvent) // Called after ManageZoom()
        {
            if (!State.Panning && currentEvent.type == EventType.MouseDown && currentEvent.button == 2)
            {
                State.Panning = true;
            }
            else if (State.Panning && currentEvent.type == EventType.MouseUp && currentEvent.button == 2)
            {
                State.Panning = false;
            }

            State.MousePosition = currentEvent.mousePosition;

            if (State.Panning)
            {
                /*if ((State.MousePosition - State.LastMousePosition).x > MaximumMove || (State.LastMousePosition - State.LastMousePosition).y > MaximumMove ||
                 *  (State.MousePosition - State.LastMousePosition).x < -MaximumMove || (State.MousePosition - State.LastMousePosition).y < -MaximumMove)
                 *  State.LastMousePosition = State.MousePosition;
                 */
                Vector2 panMove = (State.MousePosition - State.LastMousePosition);
                float   xMove   = panMove.x;
                float   yMove   = panMove.y;

                State.PanOffset += panMove;

                foreach (WireNodeDisplayer nodeDisplayer in editor.GraphEditor.NodeDisplayers)
                {
                    nodeDisplayer.WindowRect.x += xMove;
                    nodeDisplayer.WindowRect.y += yMove;
                }
                editor.Repaint();
            }
            State.LastMousePosition = State.MousePosition;
        }
Пример #2
0
        public void DrawMouseCurve()
        {
            Vector2 mousePosGlobalSpace = Event.current.mousePosition;
            Rect    rect = new Rect(
                sourcePinDisplayer.InteractionRect.position + sourcePinDisplayer.OwnerDisplayer.WindowRect.position,
                sourcePinDisplayer.InteractionRect.size);

            Rect mouseRect = new Rect(mousePosGlobalSpace.x, mousePosGlobalSpace.y, 1, 1);

            WireGraphEditor.DrawNodeCurve(rect, mouseRect, Color.white);

            editor.Repaint();
        }