public static float BrightnessAverage(int x, int y, int width, int height)
{
int num1 = x - Lighting.firstTileX + Lighting.offScreenTiles;
int num2 = y - Lighting.firstTileY + Lighting.offScreenTiles;
int num3 = num1 + width;
int num4 = num2 + height;
if (num1 < 0)
num1 = 0;
if (num2 < 0)
num2 = 0;
if (num3 >= Main.screenWidth / 16 + Lighting.offScreenTiles * 2 + 10)
num3 = Main.screenWidth / 16 + Lighting.offScreenTiles * 2 + 10;
if (num4 >= Main.screenHeight / 16 + Lighting.offScreenTiles * 2 + 10)
num4 = Main.screenHeight / 16 + Lighting.offScreenTiles * 2 + 10;
float num5 = 0.0f;
float num6 = 0.0f;
for (int index1 = num1; index1 < num3; ++index1)
{
for (int index2 = num2; index2 < num4; ++index2)
{
++num5;
Lighting.LightingState lightingState = Lighting.states[index1][index2];
num6 += (float)(((double)lightingState.r + (double)lightingState.g + (double)lightingState.b) / 3.0);
}
}
if ((double)num5 == 0.0)
return 0.0f;
return num6 / num5;
}