示例#1
0
        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;
            }
        }
示例#2
0
        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();
            }
        }