private void Update() { if (!_triangles.IsCreated || !_vertices.IsCreated) { return; } if (_jobHandle.Status == JobHandleStatus.AwaitingCompletion) { _jobHandle.Complete(); _voxels.Dispose(); UpdateMesh(_vertices.ToArray(), _triangles.ToArray()); _vertices.Dispose(); _triangles.Dispose(); IsRenderReady = true; } }
private void Update() { if (IsChunkReady && !IsChunkActive) { ActivateChunk(); } if (!_voxels.IsCreated) { return; } if (_jobHandle.Status == JobHandleStatus.AwaitingCompletion) { _jobHandle.Complete(); chunkData.Voxels = new List <VoxelData>(_voxels.ToArray()); _voxels.Dispose(); _isVoxelsReady = true; GenerateMesh(); } }