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; }
public void SetEdgeConnectorListener(EdgeConnectorListener listener) { m_edgeConnectorListener = listener; }