Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
RenderDataObjAdd.cs
Go to the documentation of this file.
1using UnityEngine;
2
4{
5 public Vector3 addPos;
6
7 public Vector2Int tilePos = new Vector2Int(0, -1);
8
9 public override bool ForceAltHeldPosition => true;
10
11 public override void Draw(RenderParam p)
12 {
14 MeshBatch meshBatch = meshPass.batches[meshPass.batchIdx];
15 int num = ((p.tile > 0f) ? 1 : (-1));
16 float num2 = p.tile + ((float)tilePos.x + (float)tilePos.y * meshPass.pmesh.tiling.x) * (float)num;
17 if (meshPass == pass.subPass)
18 {
19 meshBatch.colors[meshPass.idx] = p.color - 1572864f;
21 }
22 else
23 {
24 meshBatch.colors[meshPass.idx] = p.color;
25 meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num;
26 meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y;
27 meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z;
28 }
29 meshBatch.tiles[meshPass.idx] = p.tile + (float)(p.liquidLv * 10000 * num);
30 meshBatch.matColors[meshPass.idx] = p.matColor;
31 meshPass.idx++;
32 if (meshPass.idx == meshPass.batchSize)
33 {
34 meshPass.NextBatch();
35 meshBatch = meshPass.batches[meshPass.batchIdx];
36 }
37 meshBatch.tiles[meshPass.idx] = num2;
38 meshBatch.matColors[meshPass.idx] = p.matColor;
39 if (meshPass == pass.subPass)
40 {
41 meshBatch.colors[meshPass.idx] = p.color - 1572864f;
43 }
44 else
45 {
46 meshBatch.colors[meshPass.idx] = p.color;
47 meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num + addPos.x * (float)num;
48 meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y + addPos.y;
49 meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z + addPos.z;
50 }
51 meshPass.idx++;
52 if (meshPass.idx == meshPass.batchSize)
53 {
54 meshPass.NextBatch();
55 }
56 if (hasSnowPass && p.snow && meshPass == pass)
57 {
58 meshPass = pass.snowPass;
59 meshBatch = meshPass.batches[meshPass.batchIdx];
60 meshBatch.colors[meshPass.idx] = p.color;
61 meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num;
62 meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y;
63 meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z - 0.01f;
64 meshBatch.tiles[meshPass.idx] = p.tile + (float)(p.liquidLv * 10000 * num);
65 meshBatch.matColors[meshPass.idx] = 104025f;
66 meshPass.idx++;
67 if (meshPass.idx == meshPass.batchSize)
68 {
69 meshPass.NextBatch();
70 meshBatch = meshPass.batches[meshPass.batchIdx];
71 }
72 meshBatch.tiles[meshPass.idx] = num2;
73 meshBatch.matColors[meshPass.idx] = 104025f;
74 meshBatch.colors[meshPass.idx] = p.color;
75 meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num + addPos.x * (float)num;
76 meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y + addPos.y;
77 meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z - 0.01f + addPos.z;
78 meshPass.idx++;
79 if (meshPass.idx == meshPass.batchSize)
80 {
81 meshPass.NextBatch();
82 }
83 }
84 }
85
86 private void OnValidate()
87 {
89 }
90}
float[] matColors
Definition: MeshBatch.cs:11
Matrix4x4[] matrices
Definition: MeshBatch.cs:5
float[] tiles
Definition: MeshBatch.cs:7
float[] colors
Definition: MeshBatch.cs:9
MeshPass subPass
Definition: MeshPass.cs:15
int batchIdx
Definition: MeshPass.cs:60
ProceduralMesh pmesh
Definition: MeshPass.cs:25
MeshPass snowPass
Definition: MeshPass.cs:17
void NextBatch()
Definition: MeshPass.cs:417
int batchSize
Definition: MeshPass.cs:63
List< MeshBatch > batches
Definition: MeshPass.cs:66
int idx
Definition: MeshPass.cs:57
override void Draw(RenderParam p)
override bool ForceAltHeldPosition
Vector2Int tilePos
bool hasSubPass
Definition: RenderData.cs:59
Vector3 _offset
Definition: RenderData.cs:10
Vector3 offset
Definition: RenderData.cs:18
bool hasSnowPass
Definition: RenderData.cs:62
MeshPass pass
Definition: RenderData.cs:16
int liquidLv
Definition: RenderParam.cs:7
Vector3 NewVector3
Definition: RenderParam.cs:23
Quaternion rotation
Definition: SubPassData.cs:15
Vector3 scale
Definition: SubPassData.cs:13
static SubPassData Current
Definition: SubPassData.cs:9
Vector3 offset
Definition: SubPassData.cs:11