Ejemplo n.º 1
0
        /// <summary>
        /// Called when the user clicks the input
        /// </summary>
        /// <param name="e">User event</param>
        /// <param name="canvas">Canvas</param>
        public override void MouseDown(Event e, MoonEditorCanvas canvas)
        {
            if (EditorApplication.isPlaying)
            {
                return;
            }

            if (InPort(e.mousePosition))
            {
                int btn = e.button;
                if (btn == 0)
                {
                    NodeOutput activeoutput = canvas.ActiveOutput;
                    if (activeoutput != null)
                    {
                        SetSourceOutput(activeoutput);
                        canvas.ActiveOutput = null;
                    }
                }
                else if (btn == 1)
                {
                    ClearOutput();
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Mouse down event
 /// </summary>
 /// <param name="MousePoint">Mouse point</param>
 /// <param name="canvas">working canvas</param>
 public void MouseDown(Vector2 MousePoint, MoonEditorCanvas canvas)
 {
     if (InNode(MousePoint) && !InPorts(MousePoint) && !ActuallyDragging)
     {
         Dragging         = true;
         ActuallyDragging = true;
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Mouse drag event
 /// </summary>
 /// <param name="Delta">Mouse delta</param>
 /// <param name="canvas">Working canvas</param>
 /// <returns></returns>
 public bool MouseDrag(Vector2 Delta, MoonEditorCanvas canvas)
 {
     if (Dragging)
     {
         Drag(Delta);
         if (Event.current.shift)
         {
             this.Descendents().ToList().ForEach((Node n) => n.Drag(Delta));
         }
         return(true);
     }
     return(false);
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Mouse down event on node ports
        /// </summary>
        /// <param name="canvas">Working canvas</param>
        /// <param name="e">user event</param>
        public void MouseDownPorts(MoonEditorCanvas canvas, Event e)
        {
            InputPort.MouseDown(e, canvas);

            if (OutputPorts != null && OutputPorts.Length > 0)
            {
                for (int i = 0; i < OutputPorts.Length; i++)
                {
                    NodePort current = OutputPorts[i];
                    if (current != null)
                    {
                        current.MouseDown(e, canvas);
                    }
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Mouse up event
        /// </summary>
        /// <param name="MousePoint">Mouse Point</param>
        /// <param name="canvas">Working canvas</param>
        public void MouseUp(Vector2 MousePoint, MoonEditorCanvas canvas)
        {
            if (Dragging)
            {
                Dragging = false;
            }

            if (OutputPorts != null && OutputPorts.Length > 0)
            {
                foreach (NodeOutput output in OutputPorts)
                {
                    output.SortInputs();
                }
            }

            ActuallyDragging = false;
        }
Ejemplo n.º 6
0
        // Events

        public override void MouseDown(Event e, MoonEditorCanvas canvas)
        {
            if (EditorApplication.isPlaying)
            {
                return;
            }

            int btn = Event.current.button;

            if (InPort(e.mousePosition))
            {
                if (btn == 0)
                {
                    canvas.ActiveOutput = this;
                }
            }
        }
Ejemplo n.º 7
0
        // Events

        /// <summary>
        /// Mouse down event
        /// </summary>
        /// <param name="e">User event</param>
        /// <param name="canvas">Working canvas</param>
        public abstract void MouseDown(Event e, MoonEditorCanvas canvas);