Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
InnerOutline Class Reference
Inheritance diagram for InnerOutline:

Public Types

enum  ColorMode { Override , Additive , Multiply }
 

Public Member Functions

override void ModifyMesh (VertexHelper vh)
 
virtual Material GetModifiedMaterial (Material baseMaterial)
 

Public Attributes

Color m_OutlineColor = Color.black
 

Protected Member Functions

 InnerOutline ()
 
override void Start ()
 

Properties

ColorMode colorMode [get, set]
 
Color outlineColor [get, set]
 
float outlineThickness [get, set]
 

Private Member Functions

void Update ()
 

Private Attributes

ColorMode m_ColorMode
 
float m_OutlineThickness = 1f
 
bool m_NeedsToSetMaterialDirty
 
Material m_ModifiedMaterial
 
List< UIVertex > m_Verts = new List<UIVertex>()
 

Detailed Description

Definition at line 8 of file InnerOutline.cs.

Member Enumeration Documentation

◆ ColorMode

Enumerator
Override 
Additive 
Multiply 

Definition at line 10 of file InnerOutline.cs.

Constructor & Destructor Documentation

◆ InnerOutline()

InnerOutline.InnerOutline ( )
inlineprotected

Definition at line 80 of file InnerOutline.cs.

81 {
82 }

Member Function Documentation

◆ GetModifiedMaterial()

virtual Material InnerOutline.GetModifiedMaterial ( Material  baseMaterial)
inlinevirtual

Definition at line 121 of file InnerOutline.cs.

122 {
123 if (!IsActive())
124 {
125 return baseMaterial;
126 }
127 if (baseMaterial.shader != Shader.Find("Text Effects/Fancy Text"))
128 {
129 Debug.Log("\"" + base.gameObject.name + "\" doesn't have the \"Fancy Text\" shader applied. Please use it if you are using the \"Inner Outline\" effect.");
130 return baseMaterial;
131 }
132 if (m_ModifiedMaterial == null)
133 {
134 m_ModifiedMaterial = new Material(baseMaterial);
135 }
136 m_ModifiedMaterial.CopyPropertiesFromMaterial(baseMaterial);
137 m_ModifiedMaterial.name = baseMaterial.name + " with IO";
138 m_ModifiedMaterial.hideFlags = HideFlags.HideInHierarchy | HideFlags.HideInInspector;
139 m_ModifiedMaterial.shaderKeywords = baseMaterial.shaderKeywords;
140 m_ModifiedMaterial.CopyPropertiesFromMaterial(baseMaterial);
141 m_ModifiedMaterial.EnableKeyword("_USEOUTLINE_ON");
142 m_ModifiedMaterial.SetColor("_OutlineColor", outlineColor);
143 m_ModifiedMaterial.SetFloat("_OutlineThickness", outlineThickness / 250f);
144 m_ModifiedMaterial.SetInt("_OutlineColorMode", (int)colorMode);
146 return m_ModifiedMaterial;
147 }
bool m_NeedsToSetMaterialDirty
Definition: InnerOutline.cs:26
float outlineThickness
Definition: InnerOutline.cs:65
Color outlineColor
Definition: InnerOutline.cs:49
Material m_ModifiedMaterial
Definition: InnerOutline.cs:28
ColorMode colorMode
Definition: InnerOutline.cs:33

References colorMode, Debug, m_ModifiedMaterial, m_NeedsToSetMaterialDirty, Material, outlineColor, and outlineThickness.

◆ ModifyMesh()

override void InnerOutline.ModifyMesh ( VertexHelper  vh)
inline

Definition at line 92 of file InnerOutline.cs.

93 {
94 if (!IsActive())
95 {
96 return;
97 }
98 vh.GetUIVertexStream(m_Verts);
99 int count = m_Verts.Count;
100 for (int i = 0; i < count; i++)
101 {
102 UIVertex value = m_Verts[i];
103 if (value.uv1 == Vector4.zero)
104 {
105 value.uv1 = new Vector2(1f, 1f);
106 }
107 m_Verts[i] = value;
108 }
109 vh.Clear();
110 vh.AddUIVertexTriangleStream(m_Verts);
111 }
List< UIVertex > m_Verts
Definition: InnerOutline.cs:30

References m_Verts.

◆ Start()

override void InnerOutline.Start ( )
inlineprotected

Definition at line 84 of file InnerOutline.cs.

85 {
86 if (base.graphic != null)
87 {
88 base.graphic.SetMaterialDirty();
89 }
90 }

◆ Update()

void InnerOutline.Update ( )
inlineprivate

Definition at line 113 of file InnerOutline.cs.

114 {
115 if (m_NeedsToSetMaterialDirty && base.graphic != null)
116 {
117 base.graphic.SetMaterialDirty();
118 }
119 }

References m_NeedsToSetMaterialDirty.

Member Data Documentation

◆ m_ColorMode

ColorMode InnerOutline.m_ColorMode
private

Definition at line 18 of file InnerOutline.cs.

◆ m_ModifiedMaterial

Material InnerOutline.m_ModifiedMaterial
private

Definition at line 28 of file InnerOutline.cs.

Referenced by GetModifiedMaterial().

◆ m_NeedsToSetMaterialDirty

bool InnerOutline.m_NeedsToSetMaterialDirty
private

Definition at line 26 of file InnerOutline.cs.

Referenced by GetModifiedMaterial(), and Update().

◆ m_OutlineColor

Color InnerOutline.m_OutlineColor = Color.black

Definition at line 21 of file InnerOutline.cs.

◆ m_OutlineThickness

float InnerOutline.m_OutlineThickness = 1f
private

Definition at line 24 of file InnerOutline.cs.

◆ m_Verts

List<UIVertex> InnerOutline.m_Verts = new List<UIVertex>()
private

Definition at line 30 of file InnerOutline.cs.

Referenced by ModifyMesh().

Property Documentation

◆ colorMode

ColorMode InnerOutline.colorMode
getset

Definition at line 32 of file InnerOutline.cs.

33 {
34 get
35 {
36 return m_ColorMode;
37 }
38 set
39 {
40 m_ColorMode = value;
41 if (base.graphic != null)
42 {
43 base.graphic.SetVerticesDirty();
44 }
45 }
46 }
ColorMode m_ColorMode
Definition: InnerOutline.cs:18

Referenced by GetModifiedMaterial().

◆ outlineColor

Color InnerOutline.outlineColor
getset

Definition at line 48 of file InnerOutline.cs.

49 {
50 get
51 {
52 return m_OutlineColor;
53 }
54 set
55 {
56 m_OutlineColor = value;
57 if (base.graphic != null)
58 {
59 base.graphic.SetVerticesDirty();
60 }
61 }
62 }
Color m_OutlineColor
Definition: InnerOutline.cs:21

Referenced by GetModifiedMaterial().

◆ outlineThickness

float InnerOutline.outlineThickness
getset

Definition at line 64 of file InnerOutline.cs.

65 {
66 get
67 {
68 return m_OutlineThickness;
69 }
70 set
71 {
72 m_OutlineThickness = value;
73 if (base.graphic != null)
74 {
75 base.graphic.SetVerticesDirty();
76 }
77 }
78 }
float m_OutlineThickness
Definition: InnerOutline.cs:24

Referenced by GetModifiedMaterial().


The documentation for this class was generated from the following file: