/// <summary> /// Load a graph asset in this window for editing /// </summary> public void Load(Graph graph) { m_Graph = graph; var serializedGraph = new SerializedObject(graph); m_Canvas = new CanvasView(this); m_Canvas.Load(graph, serializedGraph); var side_menu = make_side_menu(m_Graph, serializedGraph); if (side_menu != null) { var container = new VisualElement(); container.style.flexDirection = FlexDirection.Row; container.Add(side_menu); container.Add(m_Canvas); container.style.flexGrow = new StyleFloat(1.0f); rootVisualElement.Add(container); } else { rootVisualElement.Add(m_Canvas); } titleContent = new GUIContent(graph.name); Repaint(); }
internal void Initialize(Node node, CanvasView canvas, EdgeConnectorListener connectorListener) { viewDataKey = node.ID; Target = node; Canvas = canvas; ReflectionData = NodeReflection.GetNodeType(node.GetType()); ConnectorListener = connectorListener; styleSheets.Add(Resources.Load <StyleSheet>("BlueGraphEditor/NodeView")); AddToClassList("nodeView"); // Add a class name matching the node's name (e.g. `.node-My-Branch`) var ussSafeName = Regex.Replace(Target.Name, @"[^a-zA-Z0-9]+", "-").Trim('-'); AddToClassList($"node-{ussSafeName}"); var errorContainer = new VisualElement { name = "error" }; errorContainer.Add(new VisualElement { name = "error-icon" }); errorMessage = new Label { name = "error-label" }; errorContainer.Add(errorMessage); Insert(0, errorContainer); SetPosition(new Rect(node.Position, Vector2.one)); title = node.Name; if (!ReflectionData.Deletable) { capabilities &= ~Capabilities.Deletable; } if (!ReflectionData.Moveable) { capabilities &= ~Capabilities.Movable; } // Custom OnDestroy() handler via https://forum.unity.com/threads/request-for-visualelement-ondestroy-or-onremoved-event.718814/ RegisterCallback <DetachFromPanelEvent>((e) => Destroy()); RegisterCallback <TooltipEvent>(OnTooltip); node.OnErrorEvent += RefreshErrorState; node.OnValidateEvent += OnValidate; ReloadPorts(); ReloadEditables(); RefreshErrorState(); OnInitialize(); }
/// <summary> /// Load a graph asset in this window for editing /// </summary> public void Load(Graph graph) { m_Graph = graph; m_Canvas = new CanvasView(this); m_Canvas.Load(graph); rootVisualElement.Add(m_Canvas); titleContent = new GUIContent(graph.name); Repaint(); }
/// <summary> /// Load a graph asset in this window for editing /// </summary> public virtual void Load(Graph graph) { Graph = graph; Canvas = new CanvasView(this); Canvas.Load(graph); Canvas.StretchToParentSize(); rootVisualElement.Add(Canvas); titleContent = new GUIContent(graph.name); Repaint(); }
public EdgeConnectorListener(CanvasView canvas) { this.canvas = canvas; }