Пример #1
0
        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" );
            //			}
            //		}
            //	}
            //}
        }