public override void UpdateView(Rect editorRect, Rect percentageRect, Event e, NodeGraph nodeGraph)
    {
        base.UpdateView(editorRect, percentageRect, e, nodeGraph);

        if (currentNodeSubPropertyView == null)
            currentNodeSubPropertyView = new NodeSubPropertyView();

        GUI.Box(viewRect, viewTitle, viewSkin.GetStyle("bg_view"));

        GUILayout.BeginArea(viewRect);

        GUILayout.BeginHorizontal();
        GUILayout.Space(15f);
        GUILayout.BeginVertical();
        GUILayout.Space(40f);
        
        if (currentNodeGraph == null) { }
        else
        {
            if(currentNodeGraph.selectedNodes != null && currentNodeGraph.showProperties)
            {
                if(currentNodeGraph.selectedNodes.Count > 0)
                {
                    if (currentNodeGraph.selectedNodes[currentNodeGraph.selectedNodes.Count - 1] != null)
                    {
                        currentNodeGraph.selectedNodes[currentNodeGraph.selectedNodes.Count - 1].DrawNodeProperties(viewRect, viewSkin);
                    }
                }
            }
        }

        GUILayout.EndVertical();
        GUILayout.EndHorizontal();

        GUILayout.EndArea();

        currentNodeSubPropertyView.UpdateView(new Rect(viewRect.x, viewRect.height * 0.8f , viewRect.width, viewRect.height * 0.2f),
        new Rect(1f , 1f, 1f, 1f), e, currentNodeGraph);
        currentNodeSubPropertyView.ProcessEvents(e);
    }
 public NodePropertyView() : base("Properties") {
     currentNodeSubPropertyView = new NodeSubPropertyView();
 }