Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
BetterOutline.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using UnityEngine;
3using UnityEngine.UI;
4
5[AddComponentMenu("UI/ToJ Effects/Better Outline", 0)]
6[RequireComponent(typeof(Text))]
7public class BetterOutline : Shadow
8{
9 private List<UIVertex> m_Verts = new List<UIVertex>();
10
11 protected BetterOutline()
12 {
13 }
14
15 public override void ModifyMesh(VertexHelper vh)
16 {
17 if (!IsActive())
18 {
19 return;
20 }
21 vh.GetUIVertexStream(m_Verts);
22 int count = m_Verts.Count;
23 int num = 0;
24 int num2 = 0;
25 for (int i = -1; i <= 1; i++)
26 {
27 for (int j = -1; j <= 1; j++)
28 {
29 if (i != 0 && j != 0)
30 {
31 num = num2;
32 num2 = m_Verts.Count;
33 ApplyShadowZeroAlloc(m_Verts, base.effectColor, num, m_Verts.Count, (float)i * base.effectDistance.x * 0.707f, (float)j * base.effectDistance.y * 0.707f);
34 }
35 }
36 }
37 num = num2;
38 num2 = m_Verts.Count;
39 ApplyShadowZeroAlloc(m_Verts, base.effectColor, num, m_Verts.Count, 0f - base.effectDistance.x, 0f);
40 num = num2;
41 num2 = m_Verts.Count;
42 ApplyShadowZeroAlloc(m_Verts, base.effectColor, num, m_Verts.Count, base.effectDistance.x, 0f);
43 num = num2;
44 num2 = m_Verts.Count;
45 ApplyShadowZeroAlloc(m_Verts, base.effectColor, num, m_Verts.Count, 0f, 0f - base.effectDistance.y);
46 num = num2;
47 num2 = m_Verts.Count;
48 ApplyShadowZeroAlloc(m_Verts, base.effectColor, num, m_Verts.Count, 0f, base.effectDistance.y);
49 if (GetComponent<Text>().material.shader == Shader.Find("Text Effects/Fancy Text"))
50 {
51 for (int k = 0; k < m_Verts.Count - count; k++)
52 {
53 UIVertex value = m_Verts[k];
54 value.uv1 = new Vector2(0f, 0f);
55 m_Verts[k] = value;
56 }
57 }
58 vh.Clear();
59 vh.AddUIVertexTriangleStream(m_Verts);
60 }
61}
override void ModifyMesh(VertexHelper vh)
List< UIVertex > m_Verts
Definition: BetterOutline.cs:9