Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container)
        {
#warning TODO:
            YAMLMappingNode node = base.ExportYAMLRoot(container);
            node.InsertSerializedVersion(GetSerializedVersion(container.ExportVersion));
            node.Add(ShaderName, Shader.ExportYAML(container));
            node.Add(ShaderKeywordsName, IsReadKeywords(container.Version) ? (IsKeywordsArray(container.Version) ? string.Join(" ", m_shaderKeywordsArray) : ShaderKeywords) : string.Empty);
            node.Add(LightmapFlagsName, LightmapFlags);
            node.Add(EnableInstancingVariantsName, EnableInstancingVariants);
            node.Add(DoubleSidedGIName, DoubleSidedGI);
            node.Add(CustomRenderQueueName, CustomRenderQueue);
            node.Add(StringTagMapName, IsReadStringTagMap(container.Version) ? StringTagMap.ExportYAML() : YAMLMappingNode.Empty);
            node.Add(DisabledShaderPassesName, IsReadDisabledShaderPasses(container.Version) ? DisabledShaderPasses.ExportYAML() : YAMLSequenceNode.Empty);
            node.Add(SavedPropertiesName, SavedProperties.ExportYAML(container));
            return(node);
        }
Ejemplo n.º 3
0
        protected override YAMLMappingNode ExportYAMLRoot(IExportContainer container)
        {
            YAMLMappingNode node = base.ExportYAMLRoot(container);

            node.InsertSerializedVersion(GetSerializedVersion(container.Version));
            node.Add("m_Shader", Shader.ExportYAML(container));
            node.Add("m_ShaderKeywords", IsReadKeywords(container.Version) ? (IsKeywordsArray(container.Version) ? string.Join(" ", m_shaderKeywordsArray) : ShaderKeywords) : string.Empty);
            node.Add("m_LightmapFlags", LightmapFlags);
            node.Add("m_EnableInstancingVariants", EnableInstancingVariants);
            node.Add("m_DoubleSidedGI", DoubleSidedGI);
            node.Add("m_CustomRenderQueue", CustomRenderQueue);
            node.Add("stringTagMap", IsReadStringTagMap(container.Version) ? StringTagMap.ExportYAML() : YAMLMappingNode.Empty);
#warning TODO: untested
            node.Add("disabledShaderPasses", IsReadDisabledShaderPasses(container.Version) ? DisabledShaderPasses.ExportYAML() : YAMLSequenceNode.Empty);
            node.Add("m_SavedProperties", SavedProperties.ExportYAML(container));
            return(node);
        }
Ejemplo n.º 4
0
        protected override YAMLMappingNode ExportYAMLRoot()
        {
            YAMLMappingNode node = base.ExportYAMLRoot();

            node.InsertBegin("serializedVersion", SerializedVersion);
            if (IsSerialized)
            {
                node.Add("m_Shader", SerializedShader.ExportYAML());
            }
            else
            {
                node.Add("m_Shader", Shader.ExportYAML());
            }
            if (IsKeywordsArray)
            {
                node.Add("m_ShaderKeywords", string.Join(" ", m_shaderKeywordsArray));
            }
            else
            {
                node.Add("m_ShaderKeywords", ShaderKeywords);
            }
            node.Add("m_LightmapFlags", LightmapFlags);
            node.Add("m_EnableInstancingVariants", EnableInstancingVariants);
            node.Add("m_DoubleSidedGI", DoubleSidedGI);
            node.Add("m_CustomRenderQueue", CustomRenderQueue);
            if (IsReadStringTagMap)
            {
                node.Add("stringTagMap", StringTagMap.ExportYAML());
            }
            else
            {
                node.Add("stringTagMap", YAMLMappingNode.Empty);
            }
            if (IsReadDisabledShaderPasses)
            {
#warning TODO: check on sample
                node.Add("disabledShaderPasses", DisabledShaderPasses.ExportYAML());
            }
            else
            {
                node.Add("disabledShaderPasses", YAMLSequenceNode.Empty);
            }
            node.Add("m_SavedProperties", SavedProperties.ExportYAML());
            return(node);
        }