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); }