// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using TMPro.EditorUtilities; using UnityEditor; namespace Microsoft.MixedReality.Toolkit.Editor { /// /// A custom TMP_SDFShaderGUI inspector for the "Mixed Reality Toolkit/TextMeshPro" shader. /// Adds the ability to change the depth write mode, and a warning about depth write /// when depth buffer sharing is enabled. /// public class MixedRealityTextMeshProShaderGUI : TMP_SDFShaderGUI { protected override void DoGUI() { BeginPanel("Mode", true); DoModePanel(); EndPanel(); base.DoGUI(); } protected void DoModePanel() { EditorGUI.indentLevel += 1; var depthWrite = FindProperty("_ZWrite", m_Properties, false); if (depthWrite != null) { m_Editor.ShaderProperty(depthWrite, depthWrite.displayName); if (depthWrite.floatValue.Equals(0.0f)) { if (MixedRealityToolkitShaderGUIUtilities.DisplayDepthWriteWarning(m_Editor)) { depthWrite.floatValue = 1.0f; } } } EditorGUI.indentLevel -= 1; EditorGUILayout.Space(); } } }