Elin Modding Docs Doc
Loading...
Searching...
No Matches
RenderDataObjAdd.cs
1using System;
2using UnityEngine;
3
4// Token: 0x0200019F RID: 415
6{
7 // Token: 0x170002EE RID: 750
8 // (get) Token: 0x06000BEC RID: 3052 RVA: 0x000498C7 File Offset: 0x00047AC7
9 public override bool ForceAltHeldPosition
10 {
11 get
12 {
13 return true;
14 }
15 }
16
17 // Token: 0x06000BED RID: 3053 RVA: 0x000498CC File Offset: 0x00047ACC
18 public override void Draw(RenderParam p)
19 {
20 MeshPass meshPass = (this.hasSubPass && SubPassData.Current.enable) ? this.pass.subPass : this.pass;
21 MeshBatch meshBatch = meshPass.batches[meshPass.batchIdx];
22 int num = (p.tile > 0f) ? 1 : -1;
23 float num2 = p.tile + ((float)this.tilePos.x + (float)this.tilePos.y * meshPass.pmesh.tiling.x) * (float)num;
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 + (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 meshBatch.tiles[meshPass.idx] = num2;
45 meshBatch.matColors[meshPass.idx] = p.matColor;
46 if (meshPass == this.pass.subPass)
47 {
48 meshBatch.colors[meshPass.idx] = p.color - 1572864f;
49 meshBatch.matrices[meshPass.idx].SetTRS(p.NewVector3 + this.offset + new Vector3(this.addPos.x * (float)num * SubPassData.Current.scale.x, this.addPos.y * SubPassData.Current.scale.y, this.addPos.z) + SubPassData.Current.offset, SubPassData.Current.rotation, SubPassData.Current.scale);
50 }
51 else
52 {
53 meshBatch.colors[meshPass.idx] = p.color;
54 meshBatch.matrices[meshPass.idx].m03 = p.x + this.offset.x * (float)num + this.addPos.x * (float)num;
55 meshBatch.matrices[meshPass.idx].m13 = p.y + this.offset.y + this.addPos.y;
56 meshBatch.matrices[meshPass.idx].m23 = p.z + this.offset.z + this.addPos.z;
57 }
58 meshPass.idx++;
59 if (meshPass.idx == meshPass.batchSize)
60 {
61 meshPass.NextBatch();
62 }
63 if (this.hasSnowPass && p.snow && meshPass == this.pass)
64 {
65 meshPass = this.pass.snowPass;
66 meshBatch = meshPass.batches[meshPass.batchIdx];
67 meshBatch.colors[meshPass.idx] = p.color;
68 meshBatch.matrices[meshPass.idx].m03 = p.x + this.offset.x * (float)num;
69 meshBatch.matrices[meshPass.idx].m13 = p.y + this.offset.y;
70 meshBatch.matrices[meshPass.idx].m23 = p.z + this.offset.z - 0.01f;
71 meshBatch.tiles[meshPass.idx] = p.tile + (float)(p.liquidLv * 10000 * num);
72 meshBatch.matColors[meshPass.idx] = 104025f;
73 meshPass.idx++;
74 if (meshPass.idx == meshPass.batchSize)
75 {
76 meshPass.NextBatch();
77 meshBatch = meshPass.batches[meshPass.batchIdx];
78 }
79 meshBatch.tiles[meshPass.idx] = num2;
80 meshBatch.matColors[meshPass.idx] = 104025f;
81 meshBatch.colors[meshPass.idx] = p.color;
82 meshBatch.matrices[meshPass.idx].m03 = p.x + this.offset.x * (float)num + this.addPos.x * (float)num;
83 meshBatch.matrices[meshPass.idx].m13 = p.y + this.offset.y + this.addPos.y;
84 meshBatch.matrices[meshPass.idx].m23 = p.z + this.offset.z - 0.01f + this.addPos.z;
85 meshPass.idx++;
86 if (meshPass.idx == meshPass.batchSize)
87 {
88 meshPass.NextBatch();
89 }
90 }
91 }
92
93 // Token: 0x06000BEE RID: 3054 RVA: 0x00049ED0 File Offset: 0x000480D0
94 private void OnValidate()
95 {
96 this._offset = this.offset;
97 }
98
99 // Token: 0x04000ADE RID: 2782
100 public Vector3 addPos;
101
102 // Token: 0x04000ADF RID: 2783
103 public Vector2Int tilePos = new Vector2Int(0, -1);
104}