Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
RenderDataTile.cs
Go to the documentation of this file.
2{
3 public bool liquid;
4
5 public float snowZ = -0.01f;
6
7 public override void Draw(RenderParam p)
8 {
10 {
11 _offset = ((p.dir % 4 >= 2) ? offsetBack : offset);
12 }
13 int num = ((p.tile % 2f == 1f || p.tile < 0f || !symmetry) ? 1 : (-1));
14 int num2 = ((!(p.tile < 0f)) ? 1 : (-1));
15 MeshBatch meshBatch = pass.batches[pass.batchIdx];
16 meshBatch.matrices[pass.idx].m03 = p.x + _offset.x * (float)num;
17 meshBatch.matrices[pass.idx].m13 = p.y + _offset.y;
18 meshBatch.matrices[pass.idx].m23 = p.z + _offset.z;
19 meshBatch.tiles[pass.idx] = p.tile + (float)(liquid ? (p.liquidLv * 10000 * num2) : 0);
20 meshBatch.colors[pass.idx] = p.color;
21 meshBatch.matColors[pass.idx] = p.matColor;
22 pass.idx++;
23 if (pass.idx == pass.batchSize)
24 {
26 }
27 if (multiSize)
28 {
29 meshBatch.matrices[pass.idx].m03 = p.x + _offset.x * (float)num;
30 meshBatch.matrices[pass.idx].m13 = p.y + _offset.y + pass.pmesh.size.y;
31 meshBatch.matrices[pass.idx].m23 = p.z + _offset.z + RenderData.renderSetting.vFix.z;
32 meshBatch.tiles[pass.idx] = p.tile - pass.pmesh.tiling.x + (float)(liquid ? (p.liquidLv * 10000 * num2) : 0);
33 meshBatch.colors[pass.idx] = p.color;
34 meshBatch.matColors[pass.idx] = p.matColor;
35 pass.idx++;
36 if (pass.idx == pass.batchSize)
37 {
39 }
40 }
41 if (p.snow && hasSnowPass)
42 {
43 MeshPass snowPass = pass.snowPass;
44 meshBatch = snowPass.batches[snowPass.batchIdx];
45 meshBatch.colors[snowPass.idx] = p.color;
46 meshBatch.matrices[snowPass.idx].m03 = p.x + _offset.x * (float)num;
47 meshBatch.matrices[snowPass.idx].m13 = p.y + _offset.y;
48 meshBatch.matrices[snowPass.idx].m23 = p.z + _offset.z + snowZ;
49 meshBatch.tiles[snowPass.idx] = p.tile + (float)(p.liquidLv * 10000 * num2);
50 meshBatch.matColors[snowPass.idx] = 104025f;
51 snowPass.idx++;
52 if (snowPass.idx == snowPass.batchSize)
53 {
54 snowPass.NextBatch();
55 }
56 }
57 }
58
59 public override void DrawWithRotation(RenderParam p, float angle)
60 {
61 _ = pass.subPass;
62 _ = p.NewVector3 + offset;
63 }
64
65 private void OnValidate()
66 {
68 }
69}
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 DrawWithRotation(RenderParam p, float angle)
override void Draw(RenderParam p)
static GameSetting.RenderSetting renderSetting
Definition: RenderData.cs:12
Vector3 offsetBack
Definition: RenderData.cs:20
bool symmetry
Definition: RenderData.cs:40
bool useOffsetBack
Definition: RenderData.cs:36
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