Elin Decompiled Documentation EA 23.356.1 Nightly
Loading...
Searching...
No Matches
RenderDataObjV.cs
Go to the documentation of this file.
1using UnityEngine;
2
4{
5 public bool topOnly;
6
7 public Vector3 topFix;
8
9 public override bool ForceAltHeldPosition => true;
10
11 public override void Draw(RenderParam p)
12 {
13 bool flag = false;
15 MeshBatch meshBatch = meshPass.batches[meshPass.batchIdx];
16 int num = ((p.tile > 0f) ? 1 : (-1));
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 + ((multiSize && flag) ? meshPass.pmesh.tiling.x : 0f) + (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 if (multiSize && !flag)
38 {
39 meshBatch.tiles[meshPass.idx] = p.tile - meshPass.pmesh.tiling.x * (float)num;
40 meshBatch.matColors[meshPass.idx] = p.matColor;
41 if (meshPass == pass.subPass)
42 {
43 meshBatch.colors[meshPass.idx] = p.color - 1572864f;
44 meshBatch.matrices[meshPass.idx].SetTRS(p.NewVector3 + offset + new Vector3(0f, meshPass.pmesh.size.y * SubPassData.Current.scale.y, 0f) + SubPassData.Current.offset, SubPassData.Current.rotation, SubPassData.Current.scale);
45 }
46 else
47 {
48 meshBatch.colors[meshPass.idx] = p.color;
49 meshBatch.matrices[meshPass.idx].m03 = p.x + (topFix.x + offset.x) * (float)num;
50 meshBatch.matrices[meshPass.idx].m13 = p.y + topFix.y + offset.y + meshPass.pmesh.size.y;
51 meshBatch.matrices[meshPass.idx].m23 = p.z + topFix.z + offset.z + RenderData.renderSetting.vFix.z;
52 }
53 meshPass.idx++;
54 if (meshPass.idx == meshPass.batchSize)
55 {
56 meshPass.NextBatch();
57 }
58 }
59 if (!hasSnowPass || !p.snow || !(meshPass == pass))
60 {
61 return;
62 }
63 meshPass = pass.snowPass;
64 meshBatch = meshPass.batches[meshPass.batchIdx];
65 meshBatch.colors[meshPass.idx] = p.color;
66 meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num;
67 meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y;
68 meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z + snowZ;
69 meshBatch.tiles[meshPass.idx] = p.tile + ((multiSize && flag) ? meshPass.pmesh.tiling.x : 0f) + (float)(p.liquidLv * 10000 * num);
70 meshBatch.matColors[meshPass.idx] = 104025f;
71 meshPass.idx++;
72 if (meshPass.idx == meshPass.batchSize)
73 {
74 meshPass.NextBatch();
75 meshBatch = meshPass.batches[meshPass.batchIdx];
76 }
77 if (multiSize && !flag)
78 {
79 meshBatch.tiles[meshPass.idx] = p.tile - meshPass.pmesh.tiling.x * (float)num;
80 meshBatch.matColors[meshPass.idx] = 104025f;
81 meshBatch.colors[meshPass.idx] = p.color;
82 meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num;
83 meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y + meshPass.pmesh.size.y;
84 meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z + RenderData.renderSetting.vFix.z + snowZ;
85 meshPass.idx++;
86 if (meshPass.idx == meshPass.batchSize)
87 {
88 meshPass.NextBatch();
89 }
90 }
91 }
92
93 private void OnValidate()
94 {
96 }
97}
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 bool ForceAltHeldPosition
override void Draw(RenderParam p)
static GameSetting.RenderSetting renderSetting
Definition: RenderData.cs:13
bool hasSubPass
Definition: RenderData.cs:60
Vector3 _offset
Definition: RenderData.cs:11
Vector3 offset
Definition: RenderData.cs:19
bool multiSize
Definition: RenderData.cs:33
bool hasSnowPass
Definition: RenderData.cs:63
MeshPass pass
Definition: RenderData.cs:17
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