Singularity/Library/PackageCache/com.unity.textmeshpro@3.0.8/Scripts/Editor/TMP_BitmapShaderGUI.cs
2024-05-06 11:45:45 -07:00

94 lines
2.6 KiB
C#

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