9 public override bool ForceAltHeldPosition
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)
26 meshBatch.colors[meshPass.idx] = p.color - 1572864f;
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;
36 meshBatch.tiles[meshPass.idx] = p.tile + (float)(p.liquidLv * 10000 * num);
37 meshBatch.matColors[meshPass.idx] = p.matColor;
39 if (meshPass.idx == meshPass.batchSize)
42 meshBatch = meshPass.batches[meshPass.batchIdx];
44 meshBatch.tiles[meshPass.idx] = num2;
45 meshBatch.matColors[meshPass.idx] = p.matColor;
46 if (meshPass == this.pass.subPass)
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);
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;
59 if (meshPass.idx == meshPass.batchSize)
63 if (this.hasSnowPass && p.snow && meshPass ==
this.pass)
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;
74 if (meshPass.idx == meshPass.batchSize)
77 meshBatch = meshPass.batches[meshPass.batchIdx];
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;
86 if (meshPass.idx == meshPass.batchSize)
94 private void OnValidate()
96 this._offset = this.offset;
100 public Vector3 addPos;
103 public Vector2Int tilePos =
new Vector2Int(0, -1);