Elin Modding Docs Doc
Loading...
Searching...
No Matches
RenderDataObjV.cs
1using System;
2using UnityEngine;
3
4// Token: 0x020001A1 RID: 417
6{
7 // Token: 0x170002EF RID: 751
8 // (get) Token: 0x06000BF1 RID: 3057 RVA: 0x00049EFB File Offset: 0x000480FB
9 public override bool ForceAltHeldPosition
10 {
11 get
12 {
13 return true;
14 }
15 }
16
17 // Token: 0x06000BF2 RID: 3058 RVA: 0x00049F00 File Offset: 0x00048100
18 public override void Draw(RenderParam p)
19 {
20 bool flag = false;
21 MeshPass meshPass = (this.hasSubPass && SubPassData.Current.enable) ? this.pass.subPass : this.pass;
22 MeshBatch meshBatch = meshPass.batches[meshPass.batchIdx];
23 int num = (p.tile > 0f) ? 1 : -1;
24 if (meshPass == this.pass.subPass)
25 {
26 meshBatch.colors[meshPass.idx] = p.color - 1572864f;
27 meshBatch.matrices[meshPass.idx].SetTRS(p.NewVector3 + this.offset + SubPassData.Current.offset, SubPassData.Current.rotation, SubPassData.Current.scale);
28 }
29 else
30 {
31 meshBatch.colors[meshPass.idx] = p.color;
32 meshBatch.matrices[meshPass.idx].m03 = p.x + this.offset.x * (float)num;
33 meshBatch.matrices[meshPass.idx].m13 = p.y + this.offset.y;
34 meshBatch.matrices[meshPass.idx].m23 = p.z + this.offset.z;
35 }
36 meshBatch.tiles[meshPass.idx] = p.tile + ((this.multiSize && flag) ? meshPass.pmesh.tiling.x : 0f) + (float)(p.liquidLv * 10000 * num);
37 meshBatch.matColors[meshPass.idx] = p.matColor;
38 meshPass.idx++;
39 if (meshPass.idx == meshPass.batchSize)
40 {
41 meshPass.NextBatch();
42 meshBatch = meshPass.batches[meshPass.batchIdx];
43 }
44 if (this.multiSize && !flag)
45 {
46 meshBatch.tiles[meshPass.idx] = p.tile - meshPass.pmesh.tiling.x * (float)num;
47 meshBatch.matColors[meshPass.idx] = p.matColor;
48 if (meshPass == this.pass.subPass)
49 {
50 meshBatch.colors[meshPass.idx] = p.color - 1572864f;
51 meshBatch.matrices[meshPass.idx].SetTRS(p.NewVector3 + this.offset + new Vector3(0f, meshPass.pmesh.size.y * SubPassData.Current.scale.y, 0f) + SubPassData.Current.offset, SubPassData.Current.rotation, SubPassData.Current.scale);
52 }
53 else
54 {
55 meshBatch.colors[meshPass.idx] = p.color;
56 meshBatch.matrices[meshPass.idx].m03 = p.x + this.offset.x * (float)num;
57 meshBatch.matrices[meshPass.idx].m13 = p.y + this.offset.y + meshPass.pmesh.size.y;
58 meshBatch.matrices[meshPass.idx].m23 = p.z + this.offset.z + RenderData.renderSetting.vFix.z;
59 }
60 meshPass.idx++;
61 if (meshPass.idx == meshPass.batchSize)
62 {
63 meshPass.NextBatch();
64 }
65 }
66 if (this.hasSnowPass && p.snow && meshPass == this.pass)
67 {
68 meshPass = this.pass.snowPass;
69 meshBatch = meshPass.batches[meshPass.batchIdx];
70 meshBatch.colors[meshPass.idx] = p.color;
71 meshBatch.matrices[meshPass.idx].m03 = p.x + this.offset.x * (float)num;
72 meshBatch.matrices[meshPass.idx].m13 = p.y + this.offset.y;
73 meshBatch.matrices[meshPass.idx].m23 = p.z + this.offset.z + this.snowZ;
74 meshBatch.tiles[meshPass.idx] = p.tile + ((this.multiSize && flag) ? meshPass.pmesh.tiling.x : 0f) + (float)(p.liquidLv * 10000 * num);
75 meshBatch.matColors[meshPass.idx] = 104025f;
76 meshPass.idx++;
77 if (meshPass.idx == meshPass.batchSize)
78 {
79 meshPass.NextBatch();
80 meshBatch = meshPass.batches[meshPass.batchIdx];
81 }
82 if (this.multiSize && !flag)
83 {
84 meshBatch.tiles[meshPass.idx] = p.tile - meshPass.pmesh.tiling.x * (float)num;
85 meshBatch.matColors[meshPass.idx] = 104025f;
86 meshBatch.colors[meshPass.idx] = p.color;
87 meshBatch.matrices[meshPass.idx].m03 = p.x + this.offset.x * (float)num;
88 meshBatch.matrices[meshPass.idx].m13 = p.y + this.offset.y + meshPass.pmesh.size.y;
89 meshBatch.matrices[meshPass.idx].m23 = p.z + this.offset.z + RenderData.renderSetting.vFix.z + this.snowZ;
90 meshPass.idx++;
91 if (meshPass.idx == meshPass.batchSize)
92 {
93 meshPass.NextBatch();
94 }
95 }
96 }
97 }
98
99 // Token: 0x06000BF3 RID: 3059 RVA: 0x0004A545 File Offset: 0x00048745
100 private void OnValidate()
101 {
102 this._offset = this.offset;
103 }
104
105 // Token: 0x04000AE1 RID: 2785
106 public bool topOnly;
107}