Пример #1
0
        public void Enqueue(BlockCoordinates coordinates)
        {
            /* if (!Queue.Contains(coordinates))
             * {
             *       Queue.Enqueue(coordinates);*/

            ChunkQueues.AddOrUpdate((ChunkCoordinates)coordinates,
                                    chunkCoordinates =>
            {
                var newQueue = new ConcurrentQueue <BlockCoordinates>();
                newQueue.Enqueue(coordinates);

                return(newQueue);
            },
                                    (chunkCoordinates, queue) =>
            {
                if (!queue.Contains(coordinates))
                {
                    queue.Enqueue(coordinates);
                }

                return(queue);
            });
            // }
        }