private bool CanUnserializeAndPaste(string data) { GraphClipboardData clipboardData = null; try { clipboardData = JsonUtility.FromJson <GraphClipboardData>(data); } catch { return(false); } return(clipboardData == null || NodeGraph.GetType() == Type.GetType(clipboardData.GraphTypeName)); }
private void UnserializeAndPasteGraphElements(string operationName, string data) { GraphClipboardData copiedData = JsonUtility.FromJson <GraphClipboardData>(data); if (operationName == "Paste" || operationName == "Duplicate") { Undo.RegisterCompleteObjectUndo(NodeGraph, "Paste Graph Elements"); Vector2 pos = m_mousePosition - new Vector2(contentViewContainer.transform.position.x, contentViewContainer.transform.position.y); List <ANode> clipboardNodes = SanitizeClipboardElements(copiedData.GetGraphElements(), pos); LoadSanitizedClipboardNodes(clipboardNodes); } else { Debug.Log("OTHER Operation " + operationName + "\n" + data); } }
private string CopyAndSerializeGraphElements(IEnumerable <GraphElement> elements) { GraphClipboardData data = new GraphClipboardData(NodeGraph, elements); return(JsonUtility.ToJson(data, true)); }