예제 #1
0
        /// <inheritdoc />
        public void ProcessChunk(IReadOnlySkyIslandMapChunk chunk)
        {
            IChunkProcessorContracts.ProcessChunk(chunk);

            // TODO need to actually implement the image phase, assuming I actually care anymore
            throw new NotImplementedException();
        }
        /// <inheritdoc />
        public void ProcessChunk(IReadOnlySkyIslandMapChunk chunk)
        {
            IChunkProcessorContracts.ProcessChunk(chunk);

            // find min/max of this chunk
            var localStats = new SkyIslandMapStatsAggregator();

            foreach (var mapValues in chunk.MapsLocalView.Select(pair => pair.Value))
            {
                localStats.Update(mapValues);
            }

            // update shared min/max values thus found across all chunks
            lock (this.stats)
            {
                this.stats.Update(localStats.Min);
                this.stats.Update(localStats.Max);
            }
        }