Example #1
0
        public NodeSketchEditorView(EditorWindow window, NodeProvider nodeProvider, FieldProvider fieldProvider)
        {
            m_editorWindow  = window;
            m_graph         = ScriptableObject.CreateInstance <SerializedGraph>();
            m_nodeProvider  = nodeProvider;
            m_fieldProvider = fieldProvider;
            m_fieldProvider.ConstructNodeFieldTemplates(m_nodeProvider);

            styleSheets.Add(Resources.Load <StyleSheet>("Styles/EditorView"));

            //    Add Toolbar
            Add(CreateToolbar());
            var contentView = CreateContentView();

            Add(contentView);

            //    Add Blackboard
            m_blackboard = new Blackboard(contentView, m_graphView);

            Debug.Log($"Associated blackbaord {m_graphView.GetBlackboard()}");
            //m_graphView.GetBlackboard()

            var pill = new Pill(new VisualElement(), new Label("Test"));

            m_graphView.Add(pill);

            m_searchWindowProvider = ScriptableObject.CreateInstance <SearchWindowProvider>();
            m_searchWindowProvider.Initialize(window, this, nodeProvider, m_fieldProvider, m_graphView);
            m_edgeConnectorListener = new EdgeConnectorListener(this, m_searchWindowProvider);
            m_searchWindowProvider.SetEdgeConnectorListener(m_edgeConnectorListener);

            m_graphView.nodeCreationRequest = (c) =>
            {
                m_searchWindowProvider.ConnectedVisualPort = null;
                SearchWindow.Open(new SearchWindowContext(c.screenMousePosition), m_searchWindowProvider);
            };

            m_graphView.OnDeleteGraphNode += OnDeleteGraphNode;
            m_graphView.OnDeleteEdge      += OnDeleteEdge;
        }
Example #2
0
 public void SetEdgeConnectorListener(EdgeConnectorListener listener)
 {
     m_edgeConnectorListener = listener;
 }