Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CountSandHorizontally()

static bool Terraria.StrayMethods.CountSandHorizontally ( int i,
int j,
bool[] fittingTypes,
int requiredTotalSpread = 4,
int spreadInEachAxis = 5 )
inlinestatic

Definition at line 8 of file StrayMethods.cs.

9 {
10 if (!WorldGen.InWorld(i, j, 2))
11 {
12 return false;
13 }
14 int num = 0;
15 int num2 = 0;
16 int num3 = i - 1;
17 while (num < spreadInEachAxis && num3 > 0)
18 {
19 Tile tile = Main.tile[num3, j];
20 if (tile.active() && fittingTypes[tile.type] && !WorldGen.SolidTileAllowBottomSlope(num3, j - 1))
21 {
22 num++;
23 }
24 else if (!tile.active())
25 {
26 break;
27 }
28 num3--;
29 }
30 num3 = i + 1;
31 while (num2 < spreadInEachAxis && num3 < Main.maxTilesX - 1)
32 {
33 Tile tile2 = Main.tile[num3, j];
34 if (tile2.active() && fittingTypes[tile2.type] && !WorldGen.SolidTileAllowBottomSlope(num3, j - 1))
35 {
36 num2++;
37 }
38 else if (!tile2.active())
39 {
40 break;
41 }
42 num3++;
43 }
44 return num + num2 + 1 >= requiredTotalSpread;
45 }

References Terraria.Tile.active(), Terraria.WorldGen.InWorld(), Terraria.Main.maxTilesX, Terraria.WorldGen.SolidTileAllowBottomSlope(), Terraria.Main.tile, and Terraria.Tile.type.