public CopyPasteGraph(Guid sourceGraphGuid, IEnumerable <INode> nodes, IEnumerable <IEdge> edges, IEnumerable <INodeProperty> properties, IEnumerable <INodeProperty> metaProperties) { m_SourceGraphGuid = new SerializableGuid(sourceGraphGuid); foreach (var node in nodes) { AddNode(node); foreach (var edge in NodeUtils.GetAllEdges(node)) { AddEdge(edge); } } foreach (var edge in edges) { AddEdge(edge); } foreach (var property in properties) { AddProperty(property); } foreach (var metaProperty in metaProperties) { AddMetaProperty(metaProperty); } }
public void OnAfterDeserialize() { m_SourceGraphGuid = SerializationHelper.Deserialize <SerializableGuid>(m_SerializeableSourceGraphGuid, GraphUtil.GetLegacyTypeRemapping()); var nodes = SerializationHelper.Deserialize <INode>(m_SerializableNodes, GraphUtil.GetLegacyTypeRemapping()); m_Nodes.Clear(); foreach (var node in nodes) { m_Nodes.Add(node); } m_SerializableNodes = null; var edges = SerializationHelper.Deserialize <IEdge>(m_SerializableEdges, GraphUtil.GetLegacyTypeRemapping()); m_Edges.Clear(); foreach (var edge in edges) { m_Edges.Add(edge); } m_SerializableEdges = null; var properties = SerializationHelper.Deserialize <INodeProperty>(m_SerilaizeableProperties, GraphUtil.GetLegacyTypeRemapping()); m_Properties.Clear(); foreach (var property in properties) { m_Properties.Add(property); } m_SerilaizeableProperties = null; var metaProperties = SerializationHelper.Deserialize <INodeProperty>(m_SerializableMetaProperties, GraphUtil.GetLegacyTypeRemapping()); m_MetaProperties.Clear(); foreach (var metaProperty in metaProperties) { m_MetaProperties.Add(metaProperty); } m_SerializableMetaProperties = null; }