public virtual void OnAfterDeserialize() { // have to deserialize 'globals' before nodes m_Properties = SerializationHelper.Deserialize <IShaderProperty>(m_SerializedProperties, GraphUtil.GetLegacyTypeRemapping()); var nodes = SerializationHelper.Deserialize <INode>(m_SerializableNodes, GraphUtil.GetLegacyTypeRemapping()); m_Nodes = new List <AbstractMaterialNode>(nodes.Count); m_NodeDictionary = new Dictionary <Guid, INode>(nodes.Count); foreach (var node in nodes.OfType <AbstractMaterialNode>()) { node.owner = 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() { var typeSerializationInfos = GraphUtil.GetLegacyTypeRemapping(); inputs = SerializationHelper.Deserialize<AbstractShaderProperty>(m_SerializedInputs, typeSerializationInfos); nodeProperties = SerializationHelper.Deserialize<AbstractShaderProperty>(m_SerializedProperties, typeSerializationInfos); outputs = SerializationHelper.Deserialize<MaterialSlot>(m_SerializedOutputs, typeSerializationInfos); }
public virtual void OnAfterDeserialize() { if (!string.IsNullOrEmpty(m_GuidSerialized)) { m_Guid = new Guid(m_GuidSerialized); } else { m_Guid = Guid.NewGuid(); } m_Slots = SerializationHelper.Deserialize <ISlot>(m_SerializableSlots, GraphUtil.GetLegacyTypeRemapping()); m_SerializableSlots = null; foreach (var s in m_Slots) { s.owner = this; } UpdateNodeAfterDeserialization(); }
public override void OnAfterDeserialize() { base.OnAfterDeserialize(); m_SubShaders = SerializationHelper.Deserialize <T>(m_SerializableSubShaders, GraphUtil.GetLegacyTypeRemapping()); m_SerializableSubShaders = null; }