NewRain() public static method

public static NewRain ( Vector2 Position, Vector2 Velocity ) : int
Position Vector2
Velocity Vector2
return int
Example #1
0
        // Token: 0x060001EF RID: 495 RVA: 0x000BF614 File Offset: 0x000BD814
        public static void MakeRain()
        {
            if ((double)Main.screenPosition.Y > Main.worldSurface * 16.0)
            {
                return;
            }
            if (Main.gameMenu)
            {
                return;
            }
            float num = (float)Main.screenWidth / 1920f;

            num *= 25f;
            num *= 0.25f + 1f * Main.cloudAlpha;
            if (Filters.Scene["Sandstorm"].IsActive())
            {
                return;
            }
            int num2 = 0;

            while ((float)num2 < num)
            {
                int num3 = 600;
                if (Main.player[Main.myPlayer].velocity.Y < 0f)
                {
                    num3 += (int)(Math.Abs(Main.player[Main.myPlayer].velocity.Y) * 30f);
                }
                Vector2 vector;
                vector.X  = (float)Main.rand.Next((int)Main.screenPosition.X - num3, (int)Main.screenPosition.X + Main.screenWidth + num3);
                vector.Y  = Main.screenPosition.Y - (float)Main.rand.Next(20, 100);
                vector.X -= Main.windSpeed * 15f * 40f;
                vector.X += Main.player[Main.myPlayer].velocity.X * 40f;
                if (vector.X < 0f)
                {
                    vector.X = 0f;
                }
                if (vector.X > (float)((Main.maxTilesX - 1) * 16))
                {
                    vector.X = (float)((Main.maxTilesX - 1) * 16);
                }
                int num4 = (int)vector.X / 16;
                int num5 = (int)vector.Y / 16;
                if (num4 < 0)
                {
                    num4 = 0;
                }
                if (num4 > Main.maxTilesX - 1)
                {
                    num4 = Main.maxTilesX - 1;
                }
                if (Main.gameMenu || (!WorldGen.SolidTile(num4, num5) && Main.tile[num4, num5].wall <= 0))
                {
                    Vector2 vector2 = new Vector2(Main.windSpeed * 12f, 14f);
                    Rain.NewRain(vector, vector2);
                }
                num2++;
            }
        }
Example #2
0
        public static void MakeRain()
        {
            if (Main.netMode == 2 || Main.gamePaused || ((double)Main.screenPosition.Y > Main.worldSurface * 16.0 || Main.gameMenu))
            {
                return;
            }
            float num1 = (float)Main.screenWidth / 1920f * 25f * (float)(0.25 + 1.0 * (double)Main.cloudAlpha);

            if (Filters.Scene["Sandstorm"].IsActive())
            {
                return;
            }
            for (int index = 0; (double)index < (double)num1; ++index)
            {
                int num2 = 600;
                if ((double)Main.player[Main.myPlayer].velocity.Y < 0.0)
                {
                    num2 += (int)((double)Math.Abs(Main.player[Main.myPlayer].velocity.Y) * 30.0);
                }
                Vector2 Position;
                Position.X  = (float)Main.rand.Next((int)Main.screenPosition.X - num2, (int)Main.screenPosition.X + Main.screenWidth + num2);
                Position.Y  = Main.screenPosition.Y - (float)Main.rand.Next(20, 100);
                Position.X -= (float)((double)Main.windSpeedCurrent * 15.0 * 40.0);
                Position.X += Main.player[Main.myPlayer].velocity.X * 40f;
                if ((double)Position.X < 0.0)
                {
                    Position.X = 0.0f;
                }
                if ((double)Position.X > (double)((Main.maxTilesX - 1) * 16))
                {
                    Position.X = (float)((Main.maxTilesX - 1) * 16);
                }
                int i = (int)Position.X / 16;
                int j = (int)Position.Y / 16;
                if (i < 0)
                {
                    i = 0;
                }
                if (i > Main.maxTilesX - 1)
                {
                    i = Main.maxTilesX - 1;
                }
                if (j < 0)
                {
                    j = 0;
                }
                if (j > Main.maxTilesY - 1)
                {
                    j = Main.maxTilesY - 1;
                }
                if (Main.gameMenu || !WorldGen.SolidTile(i, j, false) && Main.tile[i, j].wall <= (ushort)0)
                {
                    Vector2 Velocity = new Vector2(Main.windSpeedCurrent * 18f, 14f);
                    Rain.NewRain(Position, Velocity);
                }
            }
        }
Example #3
0
        public static void MakeRain()
        {
            if ((double)Main.screenPosition.Y > Main.worldSurface * 16.0 || Main.gameMenu)
            {
                return;
            }
            float num1 = (float)Main.screenWidth / 1920f * 25f * (float)(0.25 + 1.0 * (double)Main.cloudAlpha);

            for (int index = 0; (double)index < (double)num1; ++index)
            {
                int num2 = 600;
                if ((double)Main.player[Main.myPlayer].velocity.Y < 0.0)
                {
                    num2 += (int)((double)Math.Abs(Main.player[Main.myPlayer].velocity.Y) * 30.0);
                }
                Vector2 Position;
                Position.X  = (float)Main.rand.Next((int)Main.screenPosition.X - num2, (int)Main.screenPosition.X + Main.screenWidth + num2);
                Position.Y  = Main.screenPosition.Y - (float)Main.rand.Next(20, 100);
                Position.X -= (float)((double)Main.windSpeed * 15.0 * 40.0);
                Position.X += Main.player[Main.myPlayer].velocity.X * 40f;
                if ((double)Position.X < 0.0)
                {
                    Position.X = 0.0f;
                }
                if ((double)Position.X > (double)((Main.maxTilesX - 1) * 16))
                {
                    Position.X = (float)((Main.maxTilesX - 1) * 16);
                }
                int i = (int)Position.X / 16;
                int j = (int)Position.Y / 16;
                if (i < 0)
                {
                    i = 0;
                }
                if (i > Main.maxTilesX - 1)
                {
                    i = Main.maxTilesX - 1;
                }
                if (Main.gameMenu || !WorldGen.SolidTile(i, j) && (int)Main.tile[i, j].wall <= 0)
                {
                    Vector2 Velocity = new Vector2(Main.windSpeed * 12f, 14f);
                    Rain.NewRain(Position, Velocity);
                }
            }
        }
Example #4
0
        public static void MakeRain()
        {
            if ((double)Main.screenPosition.Y > Main.worldSurface * 16.0 || Main.gameMenu)
            {
                return;
            }
            float num1 = (float)Main.screenWidth / 1920f * 25f * (float)(0.25 + 1.0 * (double)Main.cloudAlpha);

            if (Filters.Scene["Sandstorm"].IsActive())
            {
                return;
            }
            for (int index = 0; (double)index < (double)num1; ++index)
            {
                int num2 = 600;
                if (Main.player[Main.myPlayer].velocity.Y < 0.0)
                {
                    num2 += (int)((double)Math.Abs((float)Main.player[Main.myPlayer].velocity.Y) * 30.0);
                }
                Vector2 Position;
                Position.X = (__Null)(double)Main.rand.Next((int)Main.screenPosition.X - num2, (int)Main.screenPosition.X + Main.screenWidth + num2);
                Position.Y = (__Null)(Main.screenPosition.Y - (double)Main.rand.Next(20, 100));
                // ISSUE: explicit reference operation
                // ISSUE: variable of a reference type
                Vector2& local1 = @Position;
                // ISSUE: explicit reference operation
                double num3 = (^ local1).X - (double)Main.windSpeed * 15.0 * 40.0;
                // ISSUE: explicit reference operation
                (^ local1).X = (__Null)num3;
                // ISSUE: explicit reference operation
                // ISSUE: variable of a reference type
                Vector2& local2 = @Position;
                // ISSUE: explicit reference operation
                double num4 = (^ local2).X + Main.player[Main.myPlayer].velocity.X * 40.0;
                // ISSUE: explicit reference operation
                (^ local2).X = (__Null)num4;
                if (Position.X < 0.0)
                {
                    Position.X = (__Null)0.0;
                }
                if (Position.X > (double)((Main.maxTilesX - 1) * 16))
                {
                    Position.X = (__Null)(double)((Main.maxTilesX - 1) * 16);
                }
                int i = (int)Position.X / 16;
                int j = (int)Position.Y / 16;
                if (i < 0)
                {
                    i = 0;
                }
                if (i > Main.maxTilesX - 1)
                {
                    i = Main.maxTilesX - 1;
                }
                if (Main.gameMenu || !WorldGen.SolidTile(i, j) && (int)Main.tile[i, j].wall <= 0)
                {
                    Vector2 Velocity;
                    // ISSUE: explicit reference operation
                    ((Vector2)@Velocity).\u002Ector(Main.windSpeed * 12f, 14f);
                    Rain.NewRain(Position, Velocity);
                }
            }
        }