/// <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) { var graph = CopyPasteGraph.Deserialize(data); // Add each node to the working graph foreach (var node in graph.nodes) { m_Graph.AddNode(node); AssetDatabase.AddObjectToAsset(node, m_Graph); } AssetDatabase.SaveAssets(); // Add the new nodes and select them ClearSelection(); AddNodes(graph.nodes, true, true); }
/// <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)); }