Exemplo n.º 1
0
        private static void SetLightLevel(Level level, Queue <Block> lightBfsQueue, Block b1, int lightLevel)
        {
            if (b1.LightLevel > 0)
            {
                b1.BlockLight = (byte)b1.LightLevel;
                level.SetBlockLight(b1);
            }

            if ((!b1.IsSolid || b1.IsTransparent) && b1.BlockLight + 2 <= lightLevel)
            {
                b1.BlockLight = (byte)(lightLevel - 1);
                level.SetBlockLight(b1);
                lightBfsQueue.Enqueue(b1);
            }
        }