| using UnityEngine; |
| using UnityEditor; |
|
|
| namespace TMPro.EditorUtilities |
| { |
| public class TMP_BitmapShaderGUI : TMP_BaseShaderGUI |
| { |
| static bool s_Face = true; |
|
|
| protected override void DoGUI() |
| { |
| s_Face = BeginPanel("Face", s_Face); |
| if (s_Face) |
| { |
| DoFacePanel(); |
| } |
|
|
| EndPanel(); |
|
|
| s_DebugExtended = BeginPanel("Debug Settings", s_DebugExtended); |
| if (s_DebugExtended) |
| { |
| DoDebugPanel(); |
| } |
|
|
| EndPanel(); |
| } |
|
|
| void DoFacePanel() |
| { |
| EditorGUI.indentLevel += 1; |
| if (m_Material.HasProperty(ShaderUtilities.ID_FaceTex)) |
| { |
| DoColor("_FaceColor", "Color"); |
| DoTexture2D("_FaceTex", "Texture", true); |
| } |
| else |
| { |
| DoColor("_Color", "Color"); |
| DoSlider("_DiffusePower", "Diffuse Power"); |
| } |
|
|
| EditorGUI.indentLevel -= 1; |
|
|
| EditorGUILayout.Space(); |
| } |
|
|
| void DoDebugPanel() |
| { |
| EditorGUI.indentLevel += 1; |
| DoTexture2D("_MainTex", "Font Atlas"); |
| if (m_Material.HasProperty(ShaderUtilities.ID_VertexOffsetX)) |
| { |
| if (m_Material.HasProperty(ShaderUtilities.ID_Padding)) |
| { |
| EditorGUILayout.Space(); |
| DoFloat("_Padding", "Padding"); |
| } |
| |
| EditorGUILayout.Space(); |
| DoFloat("_VertexOffsetX", "Offset X"); |
| DoFloat("_VertexOffsetY", "Offset Y"); |
| } |
|
|
| if (m_Material.HasProperty(ShaderUtilities.ID_MaskSoftnessX)) |
| { |
| EditorGUILayout.Space(); |
| DoFloat("_MaskSoftnessX", "Softness X"); |
| DoFloat("_MaskSoftnessY", "Softness Y"); |
| DoVector("_ClipRect", "Clip Rect", s_LbrtVectorLabels); |
| } |
|
|
| if (m_Material.HasProperty(ShaderUtilities.ID_StencilID)) |
| { |
| EditorGUILayout.Space(); |
| DoFloat("_Stencil", "Stencil ID"); |
| DoFloat("_StencilComp", "Stencil Comp"); |
| } |
|
|
| if (m_Material.HasProperty(ShaderUtilities.ShaderTag_CullMode)) |
| { |
| EditorGUILayout.Space(); |
| DoPopup("_CullMode", "Cull Mode", s_CullingTypeLabels); |
| } |
|
|
| EditorGUILayout.Space(); |
|
|
| EditorGUI.indentLevel -= 1; |
|
|
| EditorGUILayout.Space(); |
| } |
| } |
| } |
|
|