Пример #1
0
        /// <summary>
        /// Handler for deserializing a node from a string payload
        /// </summary>
        /// <param name="operationName"></param>
        /// <param name="data"></param>
        private void OnUnserializeAndPaste(string operationName, string data)
        {
            Undo.RegisterCompleteObjectUndo(m_Graph, "Paste Subgraph");

            var cpg = CopyPasteGraph.Deserialize(data);

            foreach (var node in cpg.nodes)
            {
                m_Graph.AddNode(node);
            }

            foreach (var comment in cpg.comments)
            {
                m_Graph.comments.Add(comment);
            }

            m_SerializedGraph.Update();
            EditorUtility.SetDirty(m_Graph);

            // Add views for all the new elements
            ClearSelection();
            AddNodeViews(cpg.nodes, true, true);
            AddCommentViews(cpg.comments);

            ScriptableObject.DestroyImmediate(cpg);
        }