You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.6 KiB
93 lines
2.6 KiB
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(); |
|
} |
|
} |
|
}
|
|
|