Terraria.Lighting.doColors_Mode0_Swipe C# (CSharp) Method

doColors_Mode0_Swipe() private static method

private static doColors_Mode0_Swipe ( Lighting swipeData ) : void
swipeData Lighting
return void
        private static void doColors_Mode0_Swipe(Lighting.LightingSwipeData swipeData)
        {
            try
            {
                bool flag1 = true;
                while (true)
                {
                    int num1;
                    int num2;
                    int num3;
                    if (flag1)
                    {
                        num1 = 1;
                        num2 = swipeData.innerLoop1Start;
                        num3 = swipeData.innerLoop1End;
                    }
                    else
                    {
                        num1 = -1;
                        num2 = swipeData.innerLoop2Start;
                        num3 = swipeData.innerLoop2End;
                    }
                    int num4 = swipeData.outerLoopStart;
                    int num5 = swipeData.outerLoopEnd;
                    for (int index1 = num4; index1 < num5; ++index1)
                    {
                        Lighting.LightingState[] lightingStateArray = swipeData.jaggedArray[index1];
                        float num6 = 0.0f;
                        float num7 = 0.0f;
                        float num8 = 0.0f;
                        int index2 = num2;
                        while (index2 != num3)
                        {
                            Lighting.LightingState lightingState1 = lightingStateArray[index2];
                            Lighting.LightingState lightingState2 = lightingStateArray[index2 + num1];
                            bool flag2;
                            bool flag3 = flag2 = false;
                            if ((double)lightingState1.r2 > (double)num6)
                                num6 = lightingState1.r2;
                            else if ((double)num6 <= 0.0185)
                                flag3 = true;
                            else if ((double)lightingState1.r2 < (double)num6)
                                lightingState1.r2 = num6;
                            if (!flag3 && (double)lightingState2.r2 <= (double)num6)
                            {
                                if (lightingState1.stopLight)
                                    num6 *= Lighting.negLight2;
                                else if (lightingState1.wetLight)
                                {
                                    if (lightingState1.honeyLight)
                                        num6 *= (float)((double)Lighting.honeyLightR * (double)swipeData.rand.Next(98, 100) * 0.00999999977648258);
                                    else
                                        num6 *= (float)((double)Lighting.wetLightR * (double)swipeData.rand.Next(98, 100) * 0.00999999977648258);
                                }
                                else
                                    num6 *= Lighting.negLight;
                            }
                            if ((double)lightingState1.g2 > (double)num7)
                                num7 = lightingState1.g2;
                            else if ((double)num7 <= 0.0185)
                                flag2 = true;
                            else
                                lightingState1.g2 = num7;
                            if (!flag2 && (double)lightingState2.g2 <= (double)num7)
                            {
                                if (lightingState1.stopLight)
                                    num7 *= Lighting.negLight2;
                                else if (lightingState1.wetLight)
                                {
                                    if (lightingState1.honeyLight)
                                        num7 *= (float)((double)Lighting.honeyLightG * (double)swipeData.rand.Next(97, 100) * 0.00999999977648258);
                                    else
                                        num7 *= (float)((double)Lighting.wetLightG * (double)swipeData.rand.Next(97, 100) * 0.00999999977648258);
                                }
                                else
                                    num7 *= Lighting.negLight;
                            }
                            if ((double)lightingState1.b2 > (double)num8)
                                num8 = lightingState1.b2;
                            else if ((double)num8 > 0.0185)
                                lightingState1.b2 = num8;
                            else
                                goto label_45;
                            if ((double)lightingState2.b2 < (double)num8)
                            {
                                if (lightingState1.stopLight)
                                    num8 *= Lighting.negLight2;
                                else if (lightingState1.wetLight)
                                {
                                    if (lightingState1.honeyLight)
                                        num8 *= (float)((double)Lighting.honeyLightB * (double)swipeData.rand.Next(97, 100) * 0.00999999977648258);
                                    else
                                        num8 *= (float)((double)Lighting.wetLightB * (double)swipeData.rand.Next(97, 100) * 0.00999999977648258);
                                }
                                else
                                    num8 *= Lighting.negLight;
                            }
                        label_45:
                            index2 += num1;
                        }
                    }
                    if (flag1)
                        flag1 = false;
                    else
                        break;
                }
            }
            catch
            {
            }
        }