protected void DrawTerrainGUI(MaterialEditor materialEditor)
        {
            // Don't draw the header if we have empty content
            if (enableHeightBlend == null && enableInstancedPerPixelNormal == null && customProperties.Count == 0)
            {
                return;
            }

            using (var header = new MaterialHeaderScope(styles.terrainText, (uint)Expandable.Terrain, materialEditor))
            {
                if (header.expanded)
                {
                    if (enableHeightBlend != null)
                    {
                        materialEditor.ShaderProperty(enableHeightBlend, styles.enableHeightBlend);
                        if (enableHeightBlend.floatValue > 0)
                        {
                            EditorGUI.indentLevel++;
                            materialEditor.ShaderProperty(heightTransition, styles.heightTransition);
                            EditorGUI.indentLevel--;
                        }
                    }
                    if (enableInstancedPerPixelNormal != null)
                    {
                        EditorGUI.BeginDisabledGroup(!materialEditor.IsInstancingEnabled());
                        materialEditor.ShaderProperty(enableInstancedPerPixelNormal, styles.enableInstancedPerPixelNormal);
                        EditorGUI.EndDisabledGroup();
                    }
                    foreach (var prop in customProperties)
                    {
                        materialEditor.ShaderProperty(prop, prop.displayName);
                    }
                }
            }
        }
 public override void OnGUI()
 {
     using (var header = new MaterialHeaderScope(Styles.header, (uint)m_ExpandableBit, materialEditor))
     {
         if (header.expanded)
         {
             DrawAdvancedOptionsGUI();
         }
     }
 }
 public override void OnGUI()
 {
     // We're using a subheader here because we know that layering options are only used within layers
     using (var header = new MaterialHeaderScope(Styles.header, (uint)m_ExpandableBit, materialEditor, colorDot: kLayerColors[m_LayerIndex], subHeader: true))
     {
         if (header.expanded)
         {
             DrawLayeringOptionsGUI();
         }
     }
 }
Esempio n. 4
0
        public override void OnGUI()
        {
            bool subHeader = (m_Features & Features.SubHeader) != 0;

            using (var header = new MaterialHeaderScope(Styles.header, (uint)m_ExpandableBit, materialEditor, subHeader: subHeader, colorDot: m_DotColor))
            {
                if (header.expanded)
                {
                    DrawDetailsGUI();
                }
            }
        }
 public override void OnGUI()
 {
     for (int layerIndex = 0; layerIndex < layerCount.floatValue; layerIndex++)
     {
         using (var header = new MaterialHeaderScope(Styles.headers[layerIndex], (uint)Styles.layerExpandableBits[layerIndex], materialEditor))
         {
             if (header.expanded)
             {
                 DrawLayerGUI(layerIndex);
             }
         }
     }
 }
        public override void OnGUI()
        {
            // If we don't have tesselation
            if (tessellationMode == null)
            {
                return;
            }

            using (var header = new MaterialHeaderScope(Styles.header, (uint)m_ExpandableBit, materialEditor))
            {
                if (header.expanded)
                {
                    DrawTesselationGUI();
                }
            }
        }
Esempio n. 7
0
        public override void OnGUI()
        {
            // Disable the block if one of the materials is not transparent:
            if (materials.Any(material => material.GetSurfaceType() != SurfaceType.Transparent))
            {
                return;
            }

            using (var header = new MaterialHeaderScope(Styles.header, (uint)m_ExpandableBit, materialEditor))
            {
                if (header.expanded)
                {
                    transparencyBlocks.OnGUI(materialEditor, properties);
                }
            }
        }
        public override void OnGUI()
        {
            bool subHeader = (m_Features & Features.SubHeader) != 0;

            using (var header = new MaterialHeaderScope(Styles.header, (uint)m_ExpandableBit, materialEditor, subHeader: subHeader, colorDot: m_DotColor))
            {
                if (header.expanded)
                {
                    if ((m_Features & Features.Standard) != 0)
                    {
                        DrawSurfaceInputsGUI();
                    }
                    if ((m_Features & Features.LayerOptions) != 0)
                    {
                        DrawLayerOptionsGUI();
                    }
                }
            }
        }