Elin Decompiled Documentation EA 23.102 Nightly
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Pages
RenderDataObjV.cs
Go to the documentation of this file.
1using UnityEngine;
2
4{
5 public bool topOnly;
6
7 public override bool ForceAltHeldPosition => true;
8
9 public override void Draw(RenderParam p)
10 {
11 bool flag = false;
13 MeshBatch meshBatch = meshPass.batches[meshPass.batchIdx];
14 int num = ((p.tile > 0f) ? 1 : (-1));
15 if (meshPass == pass.subPass)
16 {
17 meshBatch.colors[meshPass.idx] = p.color - 1572864f;
19 }
20 else
21 {
22 meshBatch.colors[meshPass.idx] = p.color;
23 meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num;
24 meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y;
25 meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z;
26 }
27 meshBatch.tiles[meshPass.idx] = p.tile + ((multiSize && flag) ? meshPass.pmesh.tiling.x : 0f) + (float)(p.liquidLv * 10000 * num);
28 meshBatch.matColors[meshPass.idx] = p.matColor;
29 meshPass.idx++;
30 if (meshPass.idx == meshPass.batchSize)
31 {
32 meshPass.NextBatch();
33 meshBatch = meshPass.batches[meshPass.batchIdx];
34 }
35 if (multiSize && !flag)
36 {
37 meshBatch.tiles[meshPass.idx] = p.tile - meshPass.pmesh.tiling.x * (float)num;
38 meshBatch.matColors[meshPass.idx] = p.matColor;
39 if (meshPass == pass.subPass)
40 {
41 meshBatch.colors[meshPass.idx] = p.color - 1572864f;
42 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);
43 }
44 else
45 {
46 meshBatch.colors[meshPass.idx] = p.color;
47 meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num;
48 meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y + meshPass.pmesh.size.y;
49 meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z + RenderData.renderSetting.vFix.z;
50 }
51 meshPass.idx++;
52 if (meshPass.idx == meshPass.batchSize)
53 {
54 meshPass.NextBatch();
55 }
56 }
57 if (!hasSnowPass || !p.snow || !(meshPass == pass))
58 {
59 return;
60 }
61 meshPass = pass.snowPass;
62 meshBatch = meshPass.batches[meshPass.batchIdx];
63 meshBatch.colors[meshPass.idx] = p.color;
64 meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num;
65 meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y;
66 meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z + snowZ;
67 meshBatch.tiles[meshPass.idx] = p.tile + ((multiSize && flag) ? meshPass.pmesh.tiling.x : 0f) + (float)(p.liquidLv * 10000 * num);
68 meshBatch.matColors[meshPass.idx] = 104025f;
69 meshPass.idx++;
70 if (meshPass.idx == meshPass.batchSize)
71 {
72 meshPass.NextBatch();
73 meshBatch = meshPass.batches[meshPass.batchIdx];
74 }
75 if (multiSize && !flag)
76 {
77 meshBatch.tiles[meshPass.idx] = p.tile - meshPass.pmesh.tiling.x * (float)num;
78 meshBatch.matColors[meshPass.idx] = 104025f;
79 meshBatch.colors[meshPass.idx] = p.color;
80 meshBatch.matrices[meshPass.idx].m03 = p.x + offset.x * (float)num;
81 meshBatch.matrices[meshPass.idx].m13 = p.y + offset.y + meshPass.pmesh.size.y;
82 meshBatch.matrices[meshPass.idx].m23 = p.z + offset.z + RenderData.renderSetting.vFix.z + snowZ;
83 meshPass.idx++;
84 if (meshPass.idx == meshPass.batchSize)
85 {
86 meshPass.NextBatch();
87 }
88 }
89 }
90
91 private void OnValidate()
92 {
94 }
95}
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:12
bool hasSubPass
Definition: RenderData.cs:59
Vector3 _offset
Definition: RenderData.cs:10
Vector3 offset
Definition: RenderData.cs:18
bool multiSize
Definition: RenderData.cs:32
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