예제 #1
0
        /// <summary>
        /// Starts the dragging from a button node link
        /// </summary>
        /// <param name="UniqueID">Unique identifier.</param>
        /// <param name="NodeLinkID">Node link identifier.</param>
        public virtual void StartDragging(string UniqueID, int NodeLinkID)
        {
            DragData = new DraggingData();

            AbstractNode originNode = GetNodeByUniqueID(UniqueID);

            Rect originNodeRect = originNode.RectWindow;

            Rect originButtonRect = originNode.GetConnection(NodeLinkID);

            //Rect cacafuti = new Rect(
            //	(baseNode.GetConnection(NodeLinkID).x +
            //	 baseNode.GetConnection(NodeLinkID).width) + baseNode.RectWindow.x,
            //	(baseNode.GetConnection(NodeLinkID).y +
            //	 baseNode.GetConnection(NodeLinkID).height
            //	) +
            //	baseNode.RectWindow.y,
            //0, 0);

            DragData.DraggingVector = new Vector2(
                originNodeRect.x
                + originNodeRect.width,
                originNodeRect.y + originButtonRect.y - 40
                );

            DragData.OriginUniqueID   = UniqueID;
            DragData.OriginNodeLinkID = NodeLinkID;
            DraggingLine = true;
        }
예제 #2
0
        public virtual Vector2[] GetConnection(ConnectionData connectionData)
        {
            Vector2[] returnData = new Vector2[2];

            AbstractNode originNode = GetNodeByUniqueID(connectionData.UniqueID);

            Rect originNodeRect = originNode.RectWindow;

            Rect originButtonRect = originNode.GetConnection(connectionData.NodeLinkID);

            Rect finishRect = GetNodeByUniqueID(ConnectionNodeList[connectionData]).RectWindow;

            returnData[0] = new Vector2(
                originNodeRect.x
                + originNodeRect.width,
                originNodeRect.y + originButtonRect.y - 40
                );

            returnData[1] = new Vector2(
                finishRect.x, finishRect.y + (finishRect.height / 2)
                );

            return(returnData);
        }