Terraria.ModLoader.SurfaceBgStyleLoader.DrawCloseBackground C# (CSharp) Method

DrawCloseBackground() public static method

public static DrawCloseBackground ( int style ) : void
style int
return void
        public static void DrawCloseBackground(int style)
        {
            if (!GlobalBgStyleLoader.loaded)
            {
                return;
            }
            if (Main.bgAlpha[style] <= 0f)
            {
                return;
            }
            var surfaceBgStyle = GetSurfaceBgStyle(style);
            if (surfaceBgStyle != null && surfaceBgStyle.PreDrawCloseBackground(Main.spriteBatch))
            {
                Main.bgScale = 1.25f;
                Main.instance.bgParallax = 0.37;
                float a = 1800.0f;
                float b = 1750.0f;
                int textureSlot = surfaceBgStyle.ChooseCloseTexture(ref Main.bgScale, ref Main.instance.bgParallax, ref a, ref b);
                if (textureSlot >= 0 && textureSlot < Main.backgroundTexture.Length)
                {
                    //Custom: bgScale, textureslot, patallaz, these 2 numbers...., Top and Start?
                    Main.instance.LoadBackground(textureSlot);
                    Main.bgScale *= 2f;
                    Main.bgW = (int)((float)Main.backgroundWidth[textureSlot] * Main.bgScale);
                    SkyManager.Instance.DrawToDepth(Main.spriteBatch, 1f / (float)Main.instance.bgParallax);
                    Main.instance.bgStart = (int)(-Math.IEEERemainder(Main.screenPosition.X * Main.instance.bgParallax, Main.bgW) - (Main.bgW / 2));
                    Main.instance.bgTop = (int)((-Main.screenPosition.Y + Main.instance.screenOff / 2f) / (Main.worldSurface * 16.0) * a + b) + (int)Main.instance.scAdj;
                    if (Main.gameMenu)
                    {
                        Main.instance.bgTop = 320;
                    }
                    Main.instance.bgLoops = Main.screenWidth / Main.bgW + 2;
                    if ((double)Main.screenPosition.Y < Main.worldSurface * 16.0 + 16.0)
                    {
                        for (int k = 0; k < Main.instance.bgLoops; k++)
                        {
                            Main.spriteBatch.Draw(Main.backgroundTexture[textureSlot],
                                new Vector2((Main.instance.bgStart + Main.bgW * k), Main.instance.bgTop),
                                new Rectangle(0, 0, Main.backgroundWidth[textureSlot], Main.backgroundHeight[textureSlot]),
                                Main.backColor, 0f, default(Vector2), Main.bgScale, SpriteEffects.None, 0f);
                        }
                    }
                }
            }
        }