public override void BuildFace(Chunk chunk, Vector3Int localPos, Direction direction) { VertexData[] vertexData = chunk.pools.PopVertexDataArray(4); VertexDataFixed[] vertexDataFixed = chunk.pools.PopVertexDataFixedArray(4); { for (int i = 0; i < 4; i++) { vertexData[i] = chunk.pools.PopVertexData(); } BlockUtils.PrepareVertices(localPos, vertexData, direction); BlockUtils.PrepareTexture(chunk, localPos, vertexData, direction, texture); BlockUtils.SetColors(vertexData, ref color); for (int i = 0; i < 4; i++) { vertexDataFixed[i] = VertexDataUtils.ClassToStruct(vertexData[i]); } chunk.GeometryHandler.Batcher.AddFace(vertexDataFixed); for (int i = 0; i < 4; i++) { chunk.pools.PushVertexData(vertexData[i]); } } chunk.pools.PushVertexDataFixedArray(vertexDataFixed); chunk.pools.PushVertexDataArray(vertexData); }