Exemple #1
0
 public void LightForChunks(Chunk ch, Chunk above)
 {
     ch.CalcSkyLight(above);
     TheClient.Schedule.ScheduleSyncTask(() =>
     {
         CalcingLights.Remove(ch.WorldPosition);
         ch.AddToWorld();
         ch.CreateVBO();
     });
 }
Exemple #2
0
 public void LightForChunks(Chunk ch, Chunk above)
 {
     // TODO: Prevent double-skylight-recalc
     ch.CalcSkyLight(above);
     TheClient.Schedule.ScheduleSyncTask(() =>
     {
         ch.AddToWorld();
         ch.CreateVBO();
         Chunk below = GetChunk(ch.WorldPosition + new Vector3i(0, 0, -1));
         if (below != null)
         {
             TheClient.Schedule.StartASyncTask(() =>
             {
                 LightForChunks(below, ch);
             });
         }
     });
 }
Exemple #3
0
 public void LightForChunks(Chunk ch, Chunk above)
 {
     ch.CalcSkyLight(above);
     TheClient.Schedule.ScheduleSyncTask(() =>
     {
         ch.AddToWorld();
         if (!ch.CreateVBO())
         {
             return;
         }
         Chunk below = GetChunk(ch.WorldPosition + new Vector3i(0, 0, -1));
         if (below != null)
         {
             TheClient.Schedule.StartAsyncTask(() =>
             {
                 LightForChunks(below, ch);
             });
         }
     });
 }
Exemple #4
0
 public void LightForChunks(Chunk ch, Chunk above)
 {
     // TODO: Prevent double-skylight-recalc
     ch.CalcSkyLight(above);
     TheClient.Schedule.ScheduleSyncTask(() =>
     {
         ch.AddToWorld();
         ch.CreateVBO();
         Chunk below = GetChunk(ch.WorldPosition + new Vector3i(0, 0, -1));
         if (below != null)
         {
             TheClient.Schedule.StartASyncTask(() =>
             {
                 LightForChunks(below, ch);
             });
         }
     });
 }