Terraria.Lighting.doColors C# (CSharp) Méthode

doColors() public static méthode

public static doColors ( ) : void
Résultat void
        public static void doColors()
        {
            if (Lighting.lightMode < 2)
            {
                Lighting.blueWave += (float)Lighting.blueDir * 0.0001f;
                if ((double)Lighting.blueWave > 1.0)
                {
                    Lighting.blueWave = 1f;
                    Lighting.blueDir = -1;
                }
                else if ((double)Lighting.blueWave < 0.970000028610229)
                {
                    Lighting.blueWave = 0.97f;
                    Lighting.blueDir = 1;
                }
                if (Lighting.RGB)
                {
                    Lighting.negLight = 0.91f;
                    Lighting.negLight2 = 0.56f;
                    Lighting.honeyLightG = 0.7f * Lighting.negLight * Lighting.blueWave;
                    Lighting.honeyLightR = 0.75f * Lighting.negLight * Lighting.blueWave;
                    Lighting.honeyLightB = 0.6f * Lighting.negLight * Lighting.blueWave;
                    switch (Main.waterStyle)
                    {
                        case 0:
                        case 1:
                        case 7:
                        case 8:
                            Lighting.wetLightG = 0.96f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightR = 0.88f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightB = 1.015f * Lighting.negLight * Lighting.blueWave;
                            break;
                        case 2:
                            Lighting.wetLightG = 0.85f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightR = 0.94f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightB = 1.01f * Lighting.negLight * Lighting.blueWave;
                            break;
                        case 3:
                            Lighting.wetLightG = 0.95f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightR = 0.84f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightB = 1.015f * Lighting.negLight * Lighting.blueWave;
                            break;
                        case 4:
                            Lighting.wetLightG = 0.86f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightR = 0.9f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightB = 1.01f * Lighting.negLight * Lighting.blueWave;
                            break;
                        case 5:
                            Lighting.wetLightG = 0.99f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightR = 0.84f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightB = 1.01f * Lighting.negLight * Lighting.blueWave;
                            break;
                        case 6:
                            Lighting.wetLightG = 0.98f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightR = 0.95f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightB = 0.85f * Lighting.negLight * Lighting.blueWave;
                            break;
                        case 9:
                            Lighting.wetLightG = 0.88f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightR = 1f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightB = 0.84f * Lighting.negLight * Lighting.blueWave;
                            break;
                        case 10:
                            Lighting.wetLightG = 1f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightR = 0.83f * Lighting.negLight * Lighting.blueWave;
                            Lighting.wetLightB = 1f * Lighting.negLight * Lighting.blueWave;
                            break;
                        default:
                            Lighting.wetLightG = 0.0f;
                            Lighting.wetLightR = 0.0f;
                            Lighting.wetLightB = 0.0f;
                            break;
                    }
                }
                else
                {
                    Lighting.negLight = 0.9f;
                    Lighting.negLight2 = 0.54f;
                    Lighting.wetLightR = 0.95f * Lighting.negLight * Lighting.blueWave;
                }
                if (Main.player[Main.myPlayer].nightVision)
                {
                    Lighting.negLight *= 1.03f;
                    Lighting.negLight2 *= 1.03f;
                }
                if (Main.player[Main.myPlayer].blind)
                {
                    Lighting.negLight *= 0.95f;
                    Lighting.negLight2 *= 0.95f;
                }
                if (Main.player[Main.myPlayer].blackout)
                {
                    Lighting.negLight *= 0.85f;
                    Lighting.negLight2 *= 0.85f;
                }
                if (Main.player[Main.myPlayer].headcovered)
                {
                    Lighting.negLight *= 0.85f;
                    Lighting.negLight2 *= 0.85f;
                }
            }
            else
            {
                Lighting.negLight = 0.04f;
                Lighting.negLight2 = 0.16f;
                if (Main.player[Main.myPlayer].nightVision)
                {
                    Lighting.negLight -= 0.013f;
                    Lighting.negLight2 -= 0.04f;
                }
                if (Main.player[Main.myPlayer].blind)
                {
                    Lighting.negLight += 0.03f;
                    Lighting.negLight2 += 0.06f;
                }
                if (Main.player[Main.myPlayer].blackout)
                {
                    Lighting.negLight += 0.09f;
                    Lighting.negLight2 += 0.18f;
                }
                if (Main.player[Main.myPlayer].headcovered)
                {
                    Lighting.negLight += 0.09f;
                    Lighting.negLight2 += 0.18f;
                }
                Lighting.wetLightR = Lighting.negLight * 1.2f;
                Lighting.wetLightG = Lighting.negLight * 1.1f;
            }
            int num1;
            int num2;
            switch (Main.renderCount)
            {
                case 0:
                    num1 = 0;
                    num2 = 1;
                    break;
                case 1:
                    num1 = 1;
                    num2 = 3;
                    break;
                case 2:
                    num1 = 3;
                    num2 = 4;
                    break;
                default:
                    num1 = 0;
                    num2 = 0;
                    break;
            }
            if (Lighting.LightingThreads < 0)
                Lighting.LightingThreads = 0;
            if (Lighting.LightingThreads >= Environment.ProcessorCount)
                Lighting.LightingThreads = Environment.ProcessorCount - 1;
            int count = Lighting.LightingThreads;
            if (count > 0)
                ++count;
            Stopwatch stopwatch = new Stopwatch();
            for (int index1 = num1; index1 < num2; ++index1)
            {
                stopwatch.Restart();
                switch (index1)
                {
                    case 0:
                        Lighting.swipe.innerLoop1Start = Lighting.minY7 - Lighting.firstToLightY7;
                        Lighting.swipe.innerLoop1End = Lighting.lastToLightY27 + Lighting.maxRenderCount - Lighting.firstToLightY7;
                        Lighting.swipe.innerLoop2Start = Lighting.maxY7 - Lighting.firstToLightY;
                        Lighting.swipe.innerLoop2End = Lighting.firstTileY7 - Lighting.maxRenderCount - Lighting.firstToLightY7;
                        Lighting.swipe.outerLoopStart = Lighting.minX7 - Lighting.firstToLightX7;
                        Lighting.swipe.outerLoopEnd = Lighting.maxX7 - Lighting.firstToLightX7;
                        Lighting.swipe.jaggedArray = Lighting.states;
                        break;
                    case 1:
                        Lighting.swipe.innerLoop1Start = Lighting.minX7 - Lighting.firstToLightX7;
                        Lighting.swipe.innerLoop1End = Lighting.lastTileX7 + Lighting.maxRenderCount - Lighting.firstToLightX7;
                        Lighting.swipe.innerLoop2Start = Lighting.maxX7 - Lighting.firstToLightX7;
                        Lighting.swipe.innerLoop2End = Lighting.firstTileX7 - Lighting.maxRenderCount - Lighting.firstToLightX7;
                        Lighting.swipe.outerLoopStart = Lighting.firstToLightY7 - Lighting.firstToLightY7;
                        Lighting.swipe.outerLoopEnd = Lighting.lastToLightY7 - Lighting.firstToLightY7;
                        Lighting.swipe.jaggedArray = Lighting.axisFlipStates;
                        break;
                    case 2:
                        Lighting.swipe.innerLoop1Start = Lighting.firstToLightY27 - Lighting.firstToLightY7;
                        Lighting.swipe.innerLoop1End = Lighting.lastTileY7 + Lighting.maxRenderCount - Lighting.firstToLightY7;
                        Lighting.swipe.innerLoop2Start = Lighting.lastToLightY27 - Lighting.firstToLightY;
                        Lighting.swipe.innerLoop2End = Lighting.firstTileY7 - Lighting.maxRenderCount - Lighting.firstToLightY7;
                        Lighting.swipe.outerLoopStart = Lighting.firstToLightX27 - Lighting.firstToLightX7;
                        Lighting.swipe.outerLoopEnd = Lighting.lastToLightX27 - Lighting.firstToLightX7;
                        Lighting.swipe.jaggedArray = Lighting.states;
                        break;
                    case 3:
                        Lighting.swipe.innerLoop1Start = Lighting.firstToLightX27 - Lighting.firstToLightX7;
                        Lighting.swipe.innerLoop1End = Lighting.lastTileX7 + Lighting.maxRenderCount - Lighting.firstToLightX7;
                        Lighting.swipe.innerLoop2Start = Lighting.lastToLightX27 - Lighting.firstToLightX7;
                        Lighting.swipe.innerLoop2End = Lighting.firstTileX7 - Lighting.maxRenderCount - Lighting.firstToLightX7;
                        Lighting.swipe.outerLoopStart = Lighting.firstToLightY27 - Lighting.firstToLightY7;
                        Lighting.swipe.outerLoopEnd = Lighting.lastToLightY27 - Lighting.firstToLightY7;
                        Lighting.swipe.jaggedArray = Lighting.axisFlipStates;
                        break;
                }
                if (Lighting.swipe.innerLoop1Start > Lighting.swipe.innerLoop1End)
                    Lighting.swipe.innerLoop1Start = Lighting.swipe.innerLoop1End;
                if (Lighting.swipe.innerLoop2Start < Lighting.swipe.innerLoop2End)
                    Lighting.swipe.innerLoop2Start = Lighting.swipe.innerLoop2End;
                if (Lighting.swipe.outerLoopStart > Lighting.swipe.outerLoopEnd)
                    Lighting.swipe.outerLoopStart = Lighting.swipe.outerLoopEnd;
                switch (Lighting.lightMode)
                {
                    case 0:
                        Lighting.swipe.function = new Action<Lighting.LightingSwipeData>(Lighting.doColors_Mode0_Swipe);
                        break;
                    case 1:
                        Lighting.swipe.function = new Action<Lighting.LightingSwipeData>(Lighting.doColors_Mode1_Swipe);
                        break;
                    case 2:
                        Lighting.swipe.function = new Action<Lighting.LightingSwipeData>(Lighting.doColors_Mode2_Swipe);
                        break;
                    case 3:
                        Lighting.swipe.function = new Action<Lighting.LightingSwipeData>(Lighting.doColors_Mode3_Swipe);
                        break;
                    default:
                        Lighting.swipe.function = (Action<Lighting.LightingSwipeData>)null;
                        break;
                }
                if (count == 0)
                {
                    Lighting.swipe.function(Lighting.swipe);
                }
                else
                {
                    int num3 = Lighting.swipe.outerLoopEnd - Lighting.swipe.outerLoopStart;
                    int num4 = num3 / count;
                    int num5 = num3 % count;
                    int num6 = Lighting.swipe.outerLoopStart;
                    Lighting.countdown.Reset(count);
                    for (int index2 = 0; index2 < count; ++index2)
                    {
                        Lighting.LightingSwipeData lightingSwipeData = Lighting.threadSwipes[index2];
                        lightingSwipeData.CopyFrom(Lighting.swipe);
                        lightingSwipeData.outerLoopStart = num6;
                        num6 += num4;
                        if (num5 > 0)
                        {
                            ++num6;
                            --num5;
                        }
                        lightingSwipeData.outerLoopEnd = num6;
                        ThreadPool.QueueUserWorkItem(new WaitCallback(Lighting.callback_LightingSwipe), (object)lightingSwipeData);
                    }
                    Lighting.countdown.Wait();
                }
                TimeLogger.LightingTime(index1 + 1, stopwatch.Elapsed.TotalMilliseconds);
            }
        }