1using System.Collections.Generic;
 
    5[AddComponentMenu(
"UI/ToJ Effects/Inner Bevel", 19)]
 
    6[DisallowMultipleComponent]
 
    7[RequireComponent(typeof(Text))]
 
    8public class InnerBevel : BaseMeshEffect, IMaterialModifier
 
   36    private List<UIVertex> 
m_Verts = 
new List<UIVertex>();
 
   47            if (base.graphic != 
null)
 
   49                base.graphic.SetVerticesDirty();
 
   63            if (base.graphic != 
null)
 
   65                base.graphic.SetVerticesDirty();
 
   79            if (base.graphic != 
null)
 
   81                base.graphic.SetVerticesDirty();
 
   95            if (base.graphic != 
null)
 
   97                base.graphic.SetVerticesDirty();
 
  113                if (base.graphic != 
null)
 
  115                    base.graphic.SetVerticesDirty();
 
  127        if (base.graphic != 
null)
 
  129            base.graphic.SetMaterialDirty();
 
  141        for (
int i = 0; i < count; i += 6)
 
  144            Vector2 vector = (
m_Verts[i + 1].uv0 - 
m_Verts[i].uv0).normalized;
 
  145            Vector2 vector2 = (
m_Verts[i + 1].uv0 - 
m_Verts[i + 2].uv0).normalized;
 
  146            Vector4 tangent = vector;
 
  147            tangent.z = vector2.x;
 
  148            tangent.w = vector2.y;
 
  149            value.tangent = tangent;
 
  150            if (value.uv1 == Vector4.zero)
 
  152                value.uv1 = 
new Vector2(1f, 1f);
 
  155            for (
int j = 1; j < 6; j++)
 
  158                value.tangent = 
m_Verts[i].tangent;
 
  159                if (value.uv1 == Vector4.zero)
 
  161                    value.uv1 = 
new Vector2(1f, 1f);
 
  167        vh.AddUIVertexTriangleStream(
m_Verts);
 
  174            base.graphic.SetMaterialDirty();
 
  184        if (baseMaterial.shader != Shader.Find(
"Text Effects/Fancy Text"))
 
  186            Debug.Log(
"\"" + base.gameObject.name + 
"\" doesn't have the \"Fancy Text\" shader applied. Please use it if you are using the \"Inner Bevel\" effect.");
 
  194        m_ModifiedMaterial.name = baseMaterial.name + 
" with IB";
 
  195        m_ModifiedMaterial.hideFlags = HideFlags.HideInHierarchy | HideFlags.HideInInspector;
 
  196        m_ModifiedMaterial.shaderKeywords = baseMaterial.shaderKeywords;
 
Vector2 m_BevelDirectionAndDepth
 
Material m_ModifiedMaterial
 
override void ModifyMesh(VertexHelper vh)
 
Vector2 bevelDirectionAndDepth
 
ColorMode m_HighlightColorMode
 
virtual Material GetModifiedMaterial(Material baseMaterial)
 
ColorMode shadowColorMode
 
ColorMode m_ShadowColorMode
 
ColorMode highlightColorMode
 
bool m_NeedsToSetMaterialDirty