Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
CircleOutline.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using UnityEngine;
4
6{
7 [SerializeField]
8 private int m_circleCount = 2;
9
10 [SerializeField]
11 private int m_firstSample = 4;
12
13 [SerializeField]
14 private int m_sampleIncrement = 2;
15
16 public int circleCount
17 {
18 get
19 {
20 return m_circleCount;
21 }
22 set
23 {
24 m_circleCount = Mathf.Max(value, 1);
25 if (base.graphic != null)
26 {
27 base.graphic.SetVerticesDirty();
28 }
29 }
30 }
31
32 public int firstSample
33 {
34 get
35 {
36 return m_firstSample;
37 }
38 set
39 {
40 m_firstSample = Mathf.Max(value, 2);
41 if (base.graphic != null)
42 {
43 base.graphic.SetVerticesDirty();
44 }
45 }
46 }
47
48 public int sampleIncrement
49 {
50 get
51 {
52 return m_sampleIncrement;
53 }
54 set
55 {
56 m_sampleIncrement = Mathf.Max(value, 1);
57 if (base.graphic != null)
58 {
59 base.graphic.SetVerticesDirty();
60 }
61 }
62 }
63
64 public override void ModifyVertices(List<UIVertex> verts)
65 {
66 if (!IsActive())
67 {
68 return;
69 }
70 int num = (m_firstSample * 2 + m_sampleIncrement * (m_circleCount - 1)) * m_circleCount / 2;
71 int num2 = verts.Count * (num + 1);
72 if (verts.Capacity < num2)
73 {
74 verts.Capacity = num2;
75 }
76 int count = verts.Count;
77 int num3 = 0;
78 int num4 = m_firstSample;
79 float num5 = base.effectDistance.x / (float)circleCount;
80 float num6 = base.effectDistance.y / (float)circleCount;
81 for (int i = 1; i <= m_circleCount; i++)
82 {
83 float num7 = num5 * (float)i;
84 float num8 = num6 * (float)i;
85 float num9 = MathF.PI * 2f / (float)num4;
86 float num10 = (float)(i % 2) * num9 * 0.5f;
87 for (int j = 0; j < num4; j++)
88 {
89 int num11 = num3 + count;
90 ApplyShadow(verts, base.effectColor, num3, num11, num7 * Mathf.Cos(num10), num8 * Mathf.Sin(num10));
91 num3 = num11;
92 num10 += num9;
93 }
94 num4 += m_sampleIncrement;
95 }
96 }
97}
override void ModifyVertices(List< UIVertex > verts)