public void AddToClipboard(List <ParentNode> selectedNodes, Vector3 initialPosition, ParentGraph graph) { //m_clipboardStrData.Clear(); //m_clipboardAuxData.Clear(); string clipboardData = IOUtils.Vector3ToString(initialPosition) + ClipboardTagId[0]; int masterNodeId = UIUtils.CurrentWindow.CurrentGraph.CurrentMasterNodeId; int count = selectedNodes.Count; for (int i = 0; i < count; i++) { if (UIUtils.CurrentWindow.IsShaderFunctionWindow || !graph.IsMasterNode(selectedNodes[i])) { string nodeData = string.Empty; string connections = string.Empty; selectedNodes[i].ClipboardFullWriteToString(ref nodeData, ref connections); clipboardData += nodeData; if (!string.IsNullOrEmpty(connections)) { connections = connections.Substring(0, connections.Length - 1); clipboardData += "\n" + connections; } if (i < count - 1) { clipboardData += ClipboardTagId[0]; } //ClipboardData data = new ClipboardData( nodeData, connections, selectedNodes[ i ].UniqueId ); //m_clipboardStrData.Add( data ); //m_clipboardAuxData.Add( selectedNodes[ i ].UniqueId, data ); } } if (!string.IsNullOrEmpty(clipboardData)) { EditorPrefs.SetString(ClipboardId, clipboardData); } //for ( int i = 0; i < selectedNodes.Count; i++ ) //{ // if ( selectedNodes[ i ].UniqueId != masterNodeId ) // { // WireNode wireNode = selectedNodes[ i ] as WireNode; // if ( wireNode != null ) // { // if ( !IsNodeChainValid( selectedNodes[ i ], true ) || !IsNodeChainValid( selectedNodes[ i ], false ) ) // { // UnityEngine.Debug.Log( "found invalid wire port" ); // } // } // } //} }