void OnNodeAdded(BaseNode _node) { BaseNodeView nodeView = AddNodeView(_node); //nodeView.RefreshExpandedState(); nodeView.Initialized(); SetDirty(); }
void InitializeInnerNodes() { int i = 0; foreach (var nodeGUID in Model.NodeGUIDs) { if (Owner.Model.Nodes.TryGetValue(nodeGUID, out BaseNode node)) { BaseNodeView nodeView = Owner.NodeViews[nodeGUID]; nodeView.AddToClassList("stack-child__" + i); AddElement(nodeView); i++; } } }
protected override void OnElementsRemoved(IEnumerable <GraphElement> elements) { foreach (var element in elements) { BaseNodeView nodeView = element as BaseNodeView; if (nodeView != null) { Model.RemoveNode(nodeView.Model.GUID); } //StackView stackNodeView = element as StackView; //if (stackNodeView != null) // Model.RemoveNode(stackNodeView.Model.GUID); } base.OnElementsRemoved(elements); }
protected override void OnElementsAdded(IEnumerable <GraphElement> elements) { foreach (var element in elements) { BaseNodeView nodeView = element as BaseNodeView; if (nodeView != null && !Model.InnerNodeGUIDs.Contains(nodeView.Model.GUID)) { Model.AddNode(nodeView.Model.GUID); } //StackView stackNodeView = element as StackView; //if (stackNodeView != null && !Model.InnerStackGUIDs.Contains(stackNodeView.Model.GUID)) // Model.AddStack(stackNodeView.Model.GUID); } base.OnElementsAdded(elements); }
void InitializeInnerNodes() { foreach (var nodeGUID in Model.InnerNodeGUIDs) { if (!Owner.NodeViews.ContainsKey(nodeGUID)) { continue; } BaseNodeView nodeView = Owner.NodeViews[nodeGUID]; AddElement(nodeView); } //foreach (var stackGUID in Model.InnerStackGUIDs) //{ // if (!Owner.Model.Stacks.ContainsKey(stackGUID)) continue; // var stackView = Owner.StackViews[stackGUID]; // AddElement(stackView); //} }
public void DisconnectView(BaseEdgeView _edgeView) { RemoveElement(_edgeView); NodePortView inputPortView = _edgeView.input as NodePortView; BaseNodeView inputNodeView = inputPortView.node as BaseNodeView; if (inputPortView != null) { inputPortView.Disconnect(_edgeView); } NodePortView outputPortView = _edgeView.output as NodePortView; BaseNodeView outputNodeView = outputPortView.node as BaseNodeView; if (outputPortView != null) { _edgeView.output.Disconnect(_edgeView); } inputNodeView.RefreshPorts(); outputNodeView.RefreshPorts(); }
public BaseNodeView AddNodeView(BaseNode _node) { Type nodeViewType = null; if (_node is ParameterNode parameterNode) { nodeViewType = typeof(ParameterNodeView); } else { nodeViewType = GraphProcessorEditorUtility.GetNodeViewType(_node.GetType()); } if (nodeViewType == null) { nodeViewType = GetDefaultNodeViewType(_node); } BaseNodeView nodeView = Activator.CreateInstance(nodeViewType) as BaseNodeView; nodeView.SetUp(_node, CommandDispatcher, this); NodeViews[_node.GUID] = nodeView; AddElement(nodeView); return(nodeView); }
public void RemoveNodeView(BaseNodeView _nodeView) { RemoveElement(_nodeView); NodeViews.Remove(_nodeView.Model.GUID); }