Пример #1
0
 void HandleChunkGenerated(object sender, ChunkLoadedEventArgs e)
 {
     if (Program.ServerConfiguration.EnableLighting)
     {
         var lighter = new WorldLighting(sender as IWorld, BlockRepository);
         lighter.InitialLighting(e.Chunk);
     }
     else
     {
         for (int i = 0; i < e.Chunk.SkyLight.Data.Length; i++)
         {
             e.Chunk.SkyLight.Data[i] = 0xFF;
         }
     }
 }
Пример #2
0
 void HandleChunkLoaded(object sender, ChunkLoadedEventArgs e)
 {
     ChunksToSchedule.Add(new Tuple<IWorld, IChunk>(sender as IWorld, e.Chunk));
     if (Program.ServerConfiguration.EnableLighting)
     {
         var lighter = WorldLighters.SingleOrDefault(l => l.World == sender);
         lighter.InitialLighting(e.Chunk, false);
     }
 }
Пример #3
0
 void HandleChunkGenerated(object sender, ChunkLoadedEventArgs e)
 {
     var lighter = new WorldLighting(sender as IWorld, BlockRepository);
     var coords = e.Coordinates * new Coordinates2D(Chunk.Width, Chunk.Depth);
     lighter.EnqueueOperation(new BoundingBox(new Vector3(coords.X, 0, coords.Z),
             new Vector3(coords.X + Chunk.Width, Chunk.Height, coords.Z + Chunk.Depth)), true, true);
     while (lighter.TryLightNext()) // Initial lighting
     {
     }
 }
Пример #4
0
 void HandleChunkLoaded(object sender, ChunkLoadedEventArgs e)
 {
     ChunksToSchedule.Add(new Tuple<IWorld, IChunk>(sender as IWorld, e.Chunk));
 }