/// <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; }
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); }