示例#1
0
        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);
            }
        }
示例#2
0
        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;
        }