//The main function for drawing a node's gui.Fires off others.
        public static void ShowNodeGUI(Node node, Rect drawCanvas, bool fullDrawPass, Vector2 canvasMousePos, float zoomFactor) {

            if ( node.isHidden ) {
                return;
            }

            if ( fullDrawPass || drawCanvas.Overlaps(node.rect) || GraphEditorUtility.activeNode == node ) {
                DrawNodeWindow(node, canvasMousePos, zoomFactor);
                DrawNodeTag(node);
                DrawNodeComments(node);
                DrawNodeID(node);
            }

            node.DrawNodeConnections(drawCanvas, fullDrawPass, canvasMousePos, zoomFactor);
        }