/// <summary> /// Handler to deserialize a string back into a CopyPasteGraph /// </summary> private void OnUnserializeAndPaste(string operationName, string data) { Undo.RegisterCompleteObjectUndo(Graph, "Paste Subgraph"); var cpg = CopyPasteGraph.Deserialize(data, searchWindow.IncludeTags); Graph.AddNodes(cpg.Nodes); foreach (var comment in cpg.Comments) { Graph.Comments.Add(comment); } serializedGraph.Update(); EditorUtility.SetDirty(Graph); // Add views for all the new elements ClearSelection(); AddNodeViews(cpg.Nodes, true, true); AddCommentViews(cpg.Comments); ScriptableObject.DestroyImmediate(cpg); }
/// <summary> /// Serialize a selection to support cut/copy/duplicate /// </summary> private string OnSerializeGraphElements(IEnumerable <GraphElement> elements) { return(CopyPasteGraph.Serialize(elements)); }
private bool OnTryPasteSerializedData(string data) { return(CopyPasteGraph.CanDeserialize(data)); }