private void RenderChunk(NativeArray <ChunkRenderMesh> chunkRenderMeshes, NativeArray <LocalToWorld> matrixes) { for (var i = 0; i < chunkRenderMeshes.Length; i++) { var chunkRenderMesh = chunkRenderMeshes[i]; var matrix = matrixes[i].Value; if (!_meshCache.TryGetValue(chunkRenderMesh.Batch, out var mesh)) { Debug.LogWarning($"No Mesh For {chunkRenderMesh.Batch}!"); continue; } // continue; //TODO throw a warning if (!_arrayMaterialRegistry.TryGetValue(chunkRenderMesh.Batch.MaterialIdentity, out var material)) { var defaultError = new ArrayMaterialKey(BaseGameMod.ModPath, "Default"); if (!_arrayMaterialRegistry.TryGetValue(defaultError, out material)) { continue; //TODO throw a warning } } Graphics.DrawMesh(mesh, matrix, material, chunkRenderMesh.Layer, default, chunkRenderMesh.SubMesh,
public SubArrayMaterialKey(ArrayMaterialKey arrayMaterial, string subArrayMaterial) { ArrayMaterial = arrayMaterial; SubArrayMaterial = subArrayMaterial; }