Ejemplo n.º 1
0
        public static bool CountSandHorizontally(int i, int j, bool[] fittingTypes, int requiredTotalSpread = 4, int spreadInEachAxis = 5)
        {
            if (!WorldGen.InWorld(i, j, 2))
            {
                return(false);
            }
            int num1 = 0;
            int num2 = 0;

            for (int i1 = i - 1; num1 < spreadInEachAxis && i1 > 0; --i1)
            {
                Tile tile = Main.tile[i1, j];
                if (tile.active() && fittingTypes[(int)tile.type] && !WorldGen.SolidTileAllowBottomSlope(i1, j - 1))
                {
                    ++num1;
                }
                else if (!tile.active())
                {
                    break;
                }
            }
            for (int i1 = i + 1; num2 < spreadInEachAxis && i1 < Main.maxTilesX - 1; ++i1)
            {
                Tile tile = Main.tile[i1, j];
                if (tile.active() && fittingTypes[(int)tile.type] && !WorldGen.SolidTileAllowBottomSlope(i1, j - 1))
                {
                    ++num2;
                }
                else if (!tile.active())
                {
                    break;
                }
            }
            return(num1 + num2 + 1 >= requiredTotalSpread);
        }
Ejemplo n.º 2
0
        // Token: 0x0600004A RID: 74 RVA: 0x000080DC File Offset: 0x000062DC
        public static bool CountSandHorizontally(int i, int j, bool[] fittingTypes, int requiredTotalSpread = 4, int spreadInEachAxis = 5)
        {
            if (!WorldGen.InWorld(i, j, 2))
            {
                return(false);
            }
            int num  = 0;
            int num2 = 0;
            int num3 = i - 1;

            while (num < spreadInEachAxis && num3 > 0)
            {
                Tile tile = Main.tile[num3, j];
                if (tile.active() && fittingTypes[(int)tile.type] && !WorldGen.SolidTileAllowBottomSlope(num3, j - 1))
                {
                    num++;
                }
                else if (!tile.active())
                {
                    break;
                }
                num3--;
            }
            num3 = i + 1;
            while (num2 < spreadInEachAxis && num3 < Main.maxTilesX - 1)
            {
                Tile tile2 = Main.tile[num3, j];
                if (tile2.active() && fittingTypes[(int)tile2.type] && !WorldGen.SolidTileAllowBottomSlope(num3, j - 1))
                {
                    num2++;
                }
                else if (!tile2.active())
                {
                    break;
                }
                num3++;
            }
            return(num + num2 + 1 >= requiredTotalSpread);
        }