public SerializedNode AddNode(AbstractLogicNodeEditor logicNodeEditor) { _logicGraphEditorObject.RegisterCompleteObjectUndo("Add Node " + logicNodeEditor.NodeType()); SerializedNode serializedNode = new SerializedNode { NodeType = logicNodeEditor.NodeType(), JSON = JsonUtility.ToJson(logicNodeEditor) }; logicNodeEditor.SerializedNode = serializedNode; if (logicNodeEditor is IInputNode) { _logicGraphEditorObject.LogicGraphData.SerializedInputNodes.Add(serializedNode); } else if (logicNodeEditor is IOutputNode) { _logicGraphEditorObject.LogicGraphData.SerializedOutputNodes.Add(serializedNode); } else { _logicGraphEditorObject.LogicGraphData.SerializedNodes.Add(serializedNode); } logicNodeEditor.Owner = _graphView; var nodeView = new LogicNodeView { userData = logicNodeEditor }; _graphView.AddElement(nodeView); nodeView.Initialize(logicNodeEditor, _edgeConnectorListener); nodeView.MarkDirtyRepaint(); return(serializedNode); }
public void AddNode(NodeEditor nodeEditor) { _logicGraphEditorObject.RegisterCompleteObjectUndo("Add Node " + nodeEditor.NodeType()); SerializedNode serializedNode = new SerializedNode { NodeType = nodeEditor.NodeType(), JSON = JsonUtility.ToJson(nodeEditor) }; nodeEditor.SerializedNode = serializedNode; if (nodeEditor is IInputNode) { _logicGraphEditorObject.LogicGraphData.SerializedInputNodes.Add(serializedNode); } else if (nodeEditor is IOutputNode) { _logicGraphEditorObject.LogicGraphData.SerializedOutputNodes.Add(serializedNode); } else { _logicGraphEditorObject.LogicGraphData.SerializedNodes.Add(serializedNode); } nodeEditor.Owner = _graphView; var nodeView = new LogicNodeView { userData = nodeEditor }; _graphView.AddElement(nodeView); nodeView.Initialize(nodeEditor, _edgeConnectorListener); nodeView.Dirty(ChangeType.Repaint); }