public override void Read(EndianStream stream) { base.Read(stream); if (IsSerialized) { SerializedShader.Read(stream); } else { Shader.Read(stream); } if (IsReadKeywords) { if (IsKeywordsArray) { m_shaderKeywordsArray = stream.ReadStringArray(); } else { ShaderKeywords = stream.ReadStringAligned(); } } if (IsReadLightmapFlags) { LightmapFlags = stream.ReadUInt32(); if (IsReadOtherFlags) { EnableInstancingVariants = stream.ReadBoolean(); DoubleSidedGI = stream.ReadBoolean(); stream.AlignStream(AlignType.Align4); } } if (IsReadCustomRenderQueue) { CustomRenderQueue = stream.ReadInt32(); } if (IsReadStringTagMap) { StringTagMap.Read(stream); if (IsReadDisabledShaderPasses) { m_disabledShaderPasses = stream.ReadStringArray(); } } SavedProperties.Read(stream); }
public override void Read(AssetReader reader) { base.Read(reader); Shader.Read(reader); if (IsReadKeywords(reader.Version)) { if (IsKeywordsArray(reader.Version)) { m_shaderKeywordsArray = reader.ReadStringArray(); } else { ShaderKeywords = reader.ReadString(); } } if (IsReadLightmapFlags(reader.Version)) { LightmapFlags = reader.ReadUInt32(); if (IsReadOtherFlags(reader.Version)) { EnableInstancingVariants = reader.ReadBoolean(); DoubleSidedGI = reader.ReadBoolean(); reader.AlignStream(AlignType.Align4); } } if (IsReadCustomRenderQueue(reader.Version)) { CustomRenderQueue = reader.ReadInt32(); } if (IsReadStringTagMap(reader.Version)) { m_stringTagMap = new Dictionary <string, string>(); m_stringTagMap.Read(reader); if (IsReadDisabledShaderPasses(reader.Version)) { m_disabledShaderPasses = reader.ReadStringArray(); } } SavedProperties.Read(reader); }