Elin Modding Docs Doc
Loading...
Searching...
No Matches
RenderData.cs
1using System;
2using UnityEngine;
3
4// Token: 0x02000196 RID: 406
6{
7 // Token: 0x170002E5 RID: 741
8 // (get) Token: 0x06000BC2 RID: 3010 RVA: 0x00048949 File Offset: 0x00046B49
9 public static Quaternion shadowRotation
10 {
11 get
12 {
13 return Quaternion.Euler(0f, 0f, RenderData.renderSetting.shadowAngle);
14 }
15 }
16
17 // Token: 0x170002E6 RID: 742
18 // (get) Token: 0x06000BC3 RID: 3011 RVA: 0x00048964 File Offset: 0x00046B64
19 public static Vector3 shadowScale
20 {
21 get
22 {
23 return RenderData.renderSetting.shadowScale;
24 }
25 }
26
27 // Token: 0x170002E7 RID: 743
28 // (get) Token: 0x06000BC4 RID: 3012 RVA: 0x00048970 File Offset: 0x00046B70
29 public static Vector3 shadowOffset
30 {
31 get
32 {
33 return RenderData.renderSetting.shadowOffset;
34 }
35 }
36
37 // Token: 0x170002E8 RID: 744
38 // (get) Token: 0x06000BC5 RID: 3013 RVA: 0x0004897C File Offset: 0x00046B7C
39 public virtual bool SkipOnMap
40 {
41 get
42 {
43 return false;
44 }
45 }
46
47 // Token: 0x170002E9 RID: 745
48 // (get) Token: 0x06000BC6 RID: 3014 RVA: 0x0004897F File Offset: 0x00046B7F
49 public virtual string pathSprite
50 {
51 get
52 {
53 return "Scene/Render/Data/";
54 }
55 }
56
57 // Token: 0x170002EA RID: 746
58 // (get) Token: 0x06000BC7 RID: 3015 RVA: 0x00048986 File Offset: 0x00046B86
59 public virtual string prefabName
60 {
61 get
62 {
63 return "ThingActor";
64 }
65 }
66
67 // Token: 0x06000BC8 RID: 3016 RVA: 0x0004898D File Offset: 0x00046B8D
68 public virtual CardActor CreateActor()
69 {
70 return null;
71 }
72
73 // Token: 0x170002EB RID: 747
74 // (get) Token: 0x06000BC9 RID: 3017 RVA: 0x00048990 File Offset: 0x00046B90
75 public virtual bool ForceAltHeldPosition
76 {
77 get
78 {
79 return false;
80 }
81 }
82
83 // Token: 0x06000BCA RID: 3018 RVA: 0x00048993 File Offset: 0x00046B93
84 private void Awake()
85 {
86 this.Init();
87 }
88
89 // Token: 0x06000BCB RID: 3019 RVA: 0x0004899C File Offset: 0x00046B9C
90 public void Init()
91 {
92 if (this.initialized)
93 {
94 return;
95 }
96 this.initialized = true;
97 this._offset = this.offset;
98 MeshPass meshPass = this.pass;
99 this.hasSubPass = ((meshPass != null) ? meshPass.subPass : null);
100 MeshPass meshPass2 = this.pass;
101 this.hasSnowPass = ((meshPass2 != null) ? meshPass2.snowPass : null);
102 this.OnInit();
103 }
104
105 // Token: 0x06000BCC RID: 3020 RVA: 0x00048A05 File Offset: 0x00046C05
106 public virtual void OnInit()
107 {
108 }
109
110 // Token: 0x06000BCD RID: 3021 RVA: 0x00048A07 File Offset: 0x00046C07
111 public int ConvertTile(int tile)
112 {
113 return tile / 100 * (int)this.pass.pmesh.tiling.x + tile % 100;
114 }
115
116 // Token: 0x06000BCE RID: 3022 RVA: 0x00048A2C File Offset: 0x00046C2C
117 public void RenderToRenderCam(RenderParam p)
118 {
119 Vector3 renderPos = EClass.scene.camSupport.renderPos;
120 if (this.multiSize)
121 {
122 renderPos.y -= 0.8f;
123 }
124 p.x = renderPos.x;
125 p.y = renderPos.y;
126 p.z = renderPos.z;
127 this.Draw(p);
128 }
129
130 // Token: 0x06000BCF RID: 3023 RVA: 0x00048A8C File Offset: 0x00046C8C
131 public void Draw(RenderParam p, int tile)
132 {
133 p.tile = (float)tile;
134 this.Draw(p);
135 }
136
137 // Token: 0x06000BD0 RID: 3024 RVA: 0x00048AA0 File Offset: 0x00046CA0
138 public virtual void Draw(RenderParam p)
139 {
140 MeshPass meshPass = (this.hasSubPass && SubPassData.Current.enable) ? this.pass.subPass : this.pass;
141 MeshBatch meshBatch = meshPass.batches[meshPass.batchIdx];
142 int num = (p.tile > 0f) ? 1 : -1;
143 if (this.useOffsetBack)
144 {
145 this._offset = ((p.dir == 2 || p.dir == 3) ? this.offsetBack : this.offset);
146 }
147 if (meshPass == this.pass.subPass)
148 {
149 meshBatch.colors[meshPass.idx] = p.color - 1572864f;
150 meshBatch.matrices[meshPass.idx].SetTRS(p.NewVector3 + this._offset + SubPassData.Current.offset, SubPassData.Current.rotation, SubPassData.Current.scale);
151 }
152 else
153 {
154 meshBatch.colors[meshPass.idx] = p.color;
155 meshBatch.matrices[meshPass.idx].m03 = p.x + this._offset.x * (float)num;
156 meshBatch.matrices[meshPass.idx].m13 = p.y + this._offset.y;
157 meshBatch.matrices[meshPass.idx].m23 = p.z + this._offset.z;
158 }
159 meshBatch.tiles[meshPass.idx] = p.tile + (float)(p.liquidLv * 10000 * num);
160 meshPass.idx++;
161 if (meshPass.idx == meshPass.batchSize)
162 {
163 meshPass.NextBatch();
164 }
165 }
166
167 // Token: 0x06000BD1 RID: 3025 RVA: 0x00048C75 File Offset: 0x00046E75
168 private void OnValidate()
169 {
170 this._offset = this.offset;
171 }
172
173 // Token: 0x06000BD2 RID: 3026 RVA: 0x00048C84 File Offset: 0x00046E84
174 public void DrawRepeatTo(RenderParam p, float maxY, float height, ref Vector3 peakFix, bool skipFirst = false, int fire = 0, bool isBlock = false)
175 {
176 int num = (int)((maxY + height + peakFix.x - p.y) / peakFix.y);
177 bool snow = p.snow;
178 if (num == 0)
179 {
180 if (!skipFirst)
181 {
182 this.Draw(p);
183 }
184 return;
185 }
186 this.orgY = p.y;
187 this.orgZ = p.z;
188 p.snow = (!isBlock && snow);
189 for (int i = 0; i < num + 1; i++)
190 {
191 if (i == num)
192 {
193 p.y = maxY + height - peakFix.y;
194 p.z -= peakFix.z + peakFix.x;
195 p.snow = snow;
196 }
197 if (skipFirst)
198 {
199 if (i != 0 && num > 1)
200 {
201 this.Draw(p);
202 }
203 }
204 else
205 {
206 this.Draw(p);
207 }
208 if (fire > 0 && i != num)
209 {
210 EClass.screen.tileMap.rendererEffect.Draw(p, fire);
211 fire--;
212 }
213 p.y += peakFix.y;
214 p.z += peakFix.z;
215 }
216 p.y = this.orgY;
217 p.z = this.orgZ;
218 }
219
220 // Token: 0x06000BD3 RID: 3027 RVA: 0x00048DB8 File Offset: 0x00046FB8
221 public void DrawRepeat(RenderParam p, int count, float size, bool skipFirst = false)
222 {
223 if (count == 1)
224 {
225 if (!skipFirst)
226 {
227 this.Draw(p);
228 }
229 return;
230 }
231 bool snow = p.snow;
232 this.orgY = p.y;
233 this.orgZ = p.z;
234 p.snow = false;
235 for (int i = 0; i < count; i++)
236 {
237 if (i == count - 1)
238 {
239 p.snow = snow;
240 }
241 if (i != 0 || !skipFirst)
242 {
243 this.Draw(p);
244 }
245 p.y += RenderData.renderSetting.peakFix.y * size;
246 p.z += RenderData.renderSetting.peakFix.z * size;
247 }
248 p.y = this.orgY;
249 p.z = this.orgZ;
250 }
251
252 // Token: 0x06000BD4 RID: 3028 RVA: 0x00048E76 File Offset: 0x00047076
253 public virtual void DrawWithRotation(RenderParam p, float angle)
254 {
255 }
256
257 // Token: 0x06000BD5 RID: 3029 RVA: 0x00048E78 File Offset: 0x00047078
258 public virtual void DrawShadow(RenderParam p)
259 {
260 int num = (p.tile > 0f) ? 1 : -1;
261 MeshPass shadowPass = this.pass.shadowPass;
262 MeshBatch meshBatch = shadowPass.batches[shadowPass.batchIdx];
263 meshBatch.matrices[shadowPass.idx].SetTRS(p.NewVector3 + this.offset + RenderData.shadowOffset, RenderData.shadowRotation, RenderData.shadowScale);
264 meshBatch.tiles[shadowPass.idx] = p.tile;
265 shadowPass.idx++;
266 if (shadowPass.idx == shadowPass.batchSize)
267 {
268 shadowPass.NextBatch();
269 }
270 if (this.multiSize)
271 {
272 shadowPass = this.pass.shadowPass;
273 MeshBatch meshBatch2 = shadowPass.batches[shadowPass.batchIdx];
274 meshBatch2.matrices[shadowPass.idx].SetTRS(p.v + this.offsetShadow, RenderData.shadowRotation, RenderData.shadowScale);
275 meshBatch2.tiles[shadowPass.idx] = p.tile - this.pass.pmesh.tiling.x * (float)num;
276 shadowPass.idx++;
277 if (shadowPass.idx == shadowPass.batchSize)
278 {
279 shadowPass.NextBatch();
280 }
281 }
282 }
283
284 // Token: 0x04000ABB RID: 2747
285 public const int HeldLightMod = 1572864;
286
287 // Token: 0x04000ABC RID: 2748
288 public static Quaternion deadRotation = Quaternion.Euler(0f, 0f, 90f);
289
290 // Token: 0x04000ABD RID: 2749
291 protected Vector3 _offset;
292
293 // Token: 0x04000ABE RID: 2750
294 public static GameSetting.RenderSetting renderSetting;
295
296 // Token: 0x04000ABF RID: 2751
297 public int idShadow;
298
299 // Token: 0x04000AC0 RID: 2752
300 public MeshPass pass;
301
302 // Token: 0x04000AC1 RID: 2753
303 public Vector3 offset;
304
305 // Token: 0x04000AC2 RID: 2754
306 public Vector3 offsetBack;
307
308 // Token: 0x04000AC3 RID: 2755
309 public Vector3 offsetShadow;
310
311 // Token: 0x04000AC4 RID: 2756
312 public Vector3 heldPos;
313
314 // Token: 0x04000AC5 RID: 2757
315 public Vector2 imagePivot = new Vector2(0.5f, 0.25f);
316
317 // Token: 0x04000AC6 RID: 2758
318 public Vector2 imageScale = new Vector2(1f, 1f);
319
320 // Token: 0x04000AC7 RID: 2759
321 public Vector2 size;
322
323 // Token: 0x04000AC8 RID: 2760
324 public bool multiSize;
325
326 // Token: 0x04000AC9 RID: 2761
327 public bool animate;
328
329 // Token: 0x04000ACA RID: 2762
330 public bool useOffsetBack;
331
332 // Token: 0x04000ACB RID: 2763
333 public bool persistActor;
334
335 // Token: 0x04000ACC RID: 2764
336 public bool symmetry = true;
337
338 // Token: 0x04000ACD RID: 2765
339 public float hangedFixZ;
340
341 // Token: 0x04000ACE RID: 2766
342 public float stackZ;
343
344 // Token: 0x04000ACF RID: 2767
345 public SubPassData subCrate;
346
347 // Token: 0x04000AD0 RID: 2768
348 public SourcePref shadowPref;
349
350 // Token: 0x04000AD1 RID: 2769
351 public RenderData subData;
352
353 // Token: 0x04000AD2 RID: 2770
354 [NonSerialized]
355 public bool initialized;
356
357 // Token: 0x04000AD3 RID: 2771
358 [NonSerialized]
359 private Sprite _sprite;
360
361 // Token: 0x04000AD4 RID: 2772
362 [NonSerialized]
363 public bool hasSubPass;
364
365 // Token: 0x04000AD5 RID: 2773
366 [NonSerialized]
367 public bool hasSnowPass;
368
369 // Token: 0x04000AD6 RID: 2774
370 private float orgX;
371
372 // Token: 0x04000AD7 RID: 2775
373 private float orgY;
374
375 // Token: 0x04000AD8 RID: 2776
376 private float orgZ;
377}