Пример #1
0
        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);
            }
        }
Пример #2
0
 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);
 }
Пример #3
0
        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();
        }
Пример #4
0
 public override void OnAfterDeserialize()
 {
     base.OnAfterDeserialize();
     m_SubShaders             = SerializationHelper.Deserialize <T>(m_SerializableSubShaders, GraphUtil.GetLegacyTypeRemapping());
     m_SerializableSubShaders = null;
 }