private IEnumerator ColorDataCoroutine()
        {
            NativeArray <Color>  biomeColors = new NativeArray <Color>(World.GetBiomeColors(), Allocator.TempJob);
            NativeArray <Color>  colors      = new NativeArray <Color>(FixedChunkSizeXZ * FixedChunkSizeXZ, Allocator.TempJob);
            CreateBiomeColorData job         = new CreateBiomeColorData()
            {
                biomeColors = biomeColors,
                biomes      = biomeTypes,
                colors      = colors
            };

            JobHandle handle = job.Schedule();

            yield return(new WaitUntil(() => handle.IsCompleted));

            handle.Complete();

            biomeColorsTexture.SetPixels(colors.ToArray());
            biomeColorsTexture.Apply();
            blockMeshFilter.GetComponent <MeshRenderer>().material.SetTexture("_BiomeTexture", biomeColorsTexture);
            plantsMeshFilter.GetComponent <MeshRenderer>().material.SetTexture("_BiomeTexture", biomeColorsTexture);

            biomeColors.Dispose();
            colors.Dispose();
        }
        private IEnumerator ColorDataCoroutine()
        {
            if (biomeColorsTexture == null)
            {
                biomeColorsTexture            = new Texture2D(FixedChunkSizeXZ, FixedChunkSizeXZ, TextureFormat.RGBA32, false);
                biomeColorsTexture.filterMode = FilterMode.Bilinear;
                biomeColorsTexture.wrapMode   = TextureWrapMode.Clamp;
            }

            NativeArray <Color>  biomeColors = new NativeArray <Color>(World.GetBiomeColors(), Allocator.TempJob);
            CreateBiomeColorData job         = new CreateBiomeColorData()
            {
                biomeColors = biomeColors,
                biomes      = biomeTypes,
                colors      = biomeColorsTexture.GetRawTextureData <Color32>()
            };

            JobHandle handle = job.Schedule();

            yield return(new WaitUntil(() => handle.IsCompleted));

            handle.Complete();

            biomeColorsTexture.Apply();
            blockMeshFilter.GetComponent <MeshRenderer>().material.SetTexture("_BiomeTexture", biomeColorsTexture);
            plantsMeshFilter.GetComponent <MeshRenderer>().material.SetTexture("_BiomeTexture", biomeColorsTexture);

            biomeColors.Dispose();
        }