86 lines
2.3 KiB
C#
86 lines
2.3 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");
|
|||
|
}
|
|||
|
|
|||
|
EditorGUI.indentLevel -= 1;
|
|||
|
|
|||
|
EditorGUILayout.Space();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|