private Chunk DoLighting(Chunk chunk) { lock (this) { //Debug.WriteLine("DoLighting " + chunk); //TODO chunk happens to be null here sometime : it was not null when enqueued , it became null after // => cancel this lighting if (chunk == null) { return(null); } if (chunk.State == ChunkState.AwaitingLighting) { chunk.State = ChunkState.Lighting; _lightingChunkProcessor.ProcessChunk(chunk); chunk.State = ChunkState.AwaitingBuild; } else if (chunk.State == ChunkState.AwaitingRelighting) { chunk.State = ChunkState.Lighting; _lightingChunkProcessor.ProcessChunk(chunk); chunk.State = ChunkState.AwaitingBuild; QueueBuild(chunk.Index); } return(chunk); } }
private Chunk DoLighting(Chunk chunk) { _lightingChunkProcessor.ProcessChunk(chunk); return(chunk); }