Elin Modding Docs Doc
Loading...
Searching...
No Matches
TraitEffect.cs
1using System;
2using Newtonsoft.Json;
3using UnityEngine;
4
5// Token: 0x02000432 RID: 1074
6public class TraitEffect : TraitItem
7{
8 // Token: 0x1700096D RID: 2413
9 // (get) Token: 0x06001E4F RID: 7759 RVA: 0x000AE8A0 File Offset: 0x000ACAA0
10 public float Interval
11 {
12 get
13 {
14 if (this.data.interval != 0f)
15 {
16 return this.data.interval;
17 }
18 return 3f;
19 }
20 }
21
22 // Token: 0x1700096E RID: 2414
23 // (get) Token: 0x06001E50 RID: 7760 RVA: 0x000AE8C5 File Offset: 0x000ACAC5
24 // (set) Token: 0x06001E51 RID: 7761 RVA: 0x000AE8D2 File Offset: 0x000ACAD2
25 public int id
26 {
27 get
28 {
29 return this.owner.refVal;
30 }
31 set
32 {
33 this.owner.refVal = value;
34 }
35 }
36
37 // Token: 0x1700096F RID: 2415
38 // (get) Token: 0x06001E52 RID: 7762 RVA: 0x000AE8E0 File Offset: 0x000ACAE0
39 public Effect Effect
40 {
41 get
42 {
43 return EClass.core.refs.fireworks[this.id % EClass.core.refs.fireworks.Count];
44 }
45 }
46
47 // Token: 0x17000970 RID: 2416
48 // (get) Token: 0x06001E53 RID: 7763 RVA: 0x000AE911 File Offset: 0x000ACB11
49 public virtual string Path
50 {
51 get
52 {
53 return "";
54 }
55 }
56
57 // Token: 0x17000971 RID: 2417
58 // (get) Token: 0x06001E54 RID: 7764 RVA: 0x000AE918 File Offset: 0x000ACB18
59 public override bool UseExtra
60 {
61 get
62 {
63 return this.owner.isOn;
64 }
65 }
66
67 // Token: 0x17000972 RID: 2418
68 // (get) Token: 0x06001E55 RID: 7765 RVA: 0x000AE928 File Offset: 0x000ACB28
69 // (set) Token: 0x06001E56 RID: 7766 RVA: 0x000AE97A File Offset: 0x000ACB7A
70 public TraitEffect.Data data
71 {
72 get
73 {
74 if (this._data == null)
75 {
76 this._data = this.owner.GetObj<TraitEffect.Data>(7);
77 if (this._data == null)
78 {
79 this._data = new TraitEffect.Data();
80 this.owner.SetObj(7, this._data);
81 }
82 }
83 return this._data;
84 }
85 set
86 {
87 this.owner.SetObj(7, value);
88 }
89 }
90
91 // Token: 0x06001E57 RID: 7767 RVA: 0x000AE98C File Offset: 0x000ACB8C
92 public void Proc(Vector3 v = default(Vector3))
93 {
94 Effect effect = Effect.Get(this.Path);
95 if (this.data.color.Get().a != 0f)
96 {
97 effect.SetParticleColor(this.data.color.Get());
98 }
99 if (this.data.sprite != 0)
100 {
101 Sprite sprite = effect.sprites[this.data.sprite % effect.sprites.Length];
102 ParticleSystem[] componentsInChildren = effect.GetComponentsInChildren<ParticleSystem>();
103 for (int i = 0; i < componentsInChildren.Length; i++)
104 {
105 ParticleSystem.ShapeModule shape = componentsInChildren[i].shape;
106 if (shape.shapeType == ParticleSystemShapeType.Sprite && shape.sprite)
107 {
108 shape.sprite = sprite;
109 shape.texture = sprite.texture;
110 }
111 }
112 }
113 if (effect.dirs.Length != 0)
114 {
115 effect.transform.localEulerAngles = effect.dirs[this.owner.dir % effect.dirs.Length];
116 }
117 effect.Play((v == default(Vector3)) ? ((this.owner.parent == EClass._zone) ? this.owner.renderer.position : EClass.pc.renderer.position) : v);
118 }
119
120 // Token: 0x06001E58 RID: 7768 RVA: 0x000AEAD0 File Offset: 0x000ACCD0
121 public override void TrySetAct(ActPlan p)
122 {
123 base.TrySetAct(p);
124 if (p.input != ActInput.AllAction)
125 {
126 return;
127 }
128 if (this.Effect.sprites.Length != 0)
129 {
130 p.TrySetAct("actChangeSymbol", delegate()
131 {
132 UIContextMenu uicontextMenu = EClass.ui.CreateContextMenuInteraction();
133 uicontextMenu.AddSlider("adjustment", (float a) => ((int)a).ToString() ?? "", (float)this.data.sprite, delegate(float b)
134 {
135 this.data.sprite = (int)b;
136 }, 0f, (float)(this.Effect.sprites.Length - 1), true, false, false);
137 uicontextMenu.Show();
138 return false;
139 }, this.owner, null, 1, false, true, false);
140 }
141 if (this.Effect.systems.Length != 0)
142 {
143 p.TrySetAct("actChangeColor", delegate()
144 {
145 EClass.ui.AddLayer<LayerColorPicker>().SetColor(this.data.color.Get(), new Color(0f, 0f, 0f, 0f), delegate(PickerState state, Color _c)
146 {
147 this.data.color.Set(_c);
148 });
149 return false;
150 }, this.owner, null, 1, false, true, false);
151 }
152 p.TrySetAct("actChangeInterval", delegate()
153 {
154 UIContextMenu uicontextMenu = EClass.ui.CreateContextMenuInteraction();
155 uicontextMenu.AddSlider("adjustment", (float a) => (0.01f * (float)((int)(a * 10f))).ToString() ?? "", this.data.interval * 10f, delegate(float b)
156 {
157 this.data.interval = b * 0.1f;
158 }, 0f, 200f, true, false, false);
159 uicontextMenu.Show();
160 return false;
161 }, this.owner, null, 1, false, true, false);
162 p.TrySetAct("actChangeDelay", delegate()
163 {
164 UIContextMenu uicontextMenu = EClass.ui.CreateContextMenuInteraction();
165 uicontextMenu.AddSlider("adjustment", (float a) => (0.01f * (float)((int)(a * 10f))).ToString() ?? "", this.data.delay * 10f, delegate(float b)
166 {
167 this.data.delay = b * 0.1f;
168 }, 0f, 200f, true, false, false);
169 uicontextMenu.Show();
170 return false;
171 }, this.owner, null, 1, false, true, false);
172 if (EClass.debug.enable)
173 {
174 p.TrySetAct("actChangeType", delegate()
175 {
176 UIContextMenu uicontextMenu = EClass.ui.CreateContextMenuInteraction();
177 uicontextMenu.AddSlider("adjustment", (float a) => a.ToString() ?? "", (float)this.id, delegate(float b)
178 {
179 this.id = (int)b;
180 this.Proc(default(Vector3));
181 }, 0f, (float)(EClass.core.refs.fireworks.Count - 1), true, false, false);
182 uicontextMenu.Show();
183 return false;
184 }, this.owner, null, 1, false, true, false);
185 }
186 }
187
188 // Token: 0x06001E59 RID: 7769 RVA: 0x000AEBC5 File Offset: 0x000ACDC5
189 public override int CompareTo(Card b)
190 {
191 return b.refVal - this.owner.refVal;
192 }
193
194 // Token: 0x040010C8 RID: 4296
195 public float timer;
196
197 // Token: 0x040010C9 RID: 4297
198 public TraitEffect.Data _data;
199
200 // Token: 0x020009CB RID: 2507
201 public class Data
202 {
203 // Token: 0x040028AE RID: 10414
204 [JsonProperty]
205 public int sprite;
206
207 // Token: 0x040028AF RID: 10415
208 [JsonProperty]
209 public float interval;
210
211 // Token: 0x040028B0 RID: 10416
212 [JsonProperty]
213 public float delay;
214
215 // Token: 0x040028B1 RID: 10417
216 [JsonProperty]
217 public SerializableColor color = new SerializableColor(0, 0, 0, 0);
218 }
219}
Definition Card.cs:13