94 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			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(); | |||
|  |         } | |||
|  |     } | |||
|  | } |