public virtual void OnAfterDeserialize() { // have to deserialize 'globals' before nodes m_Properties = SerializationHelper.Deserialize <INodeProperty>(m_SerializedProperties, GraphUtil.GetLegacyTypeRemapping()); foreach (var property in m_Properties) { m_PropertyDictionary.Add(property.guid, property); } var nodes = SerializationHelper.Deserialize <INode>(m_SerializableNodes, GraphUtil.GetLegacyTypeRemapping()); m_Nodes = new List <INode>(nodes.Count); m_NodeDictionary = new Dictionary <Guid, INode>(nodes.Count); foreach (var node in nodes.OfType <AbstractNode>()) { node.SetOwner(this); node.UpdateNodeAfterDeserialization(); node.tempId = new Identifier(m_Nodes.Count); m_Nodes.Add(node); m_NodeDictionary.Add(node.guid, node); } m_SerializableNodes = null; m_Edges = SerializationHelper.Deserialize <IEdge>(m_SerializableEdges, GraphUtil.GetLegacyTypeRemapping()); m_SerializableEdges = null; foreach (var edge in m_Edges) { AddEdgeToNodeEdges(edge); } }
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; }
public virtual void OnAfterDeserialize() { if (!string.IsNullOrEmpty(m_GuidSerialized)) { m_Guid = new Guid(m_GuidSerialized); } else { m_Guid = Guid.NewGuid(); } if (m_Slots == null) { m_Slots = new Dictionary <int, ISlot>(); } SerializationHelper.Deserialize(m_Slots, m_SerializableSlots, GraphUtil.GetLegacyTypeRemapping()); m_SerializableSlots = null; foreach (var s in m_Slots.Values) { s.owner = this; } UpdateNodeAfterDeserialization(); }