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

◆ Place2x2Horizontal()

static bool Terraria.WorldGen.Place2x2Horizontal ( int x,
int y,
ushort type,
int Style = 0 )
inlinestatic

Definition at line 35015 of file WorldGen.cs.

35016 {
35017 int num = x - 2;
35018 int num2 = x + 3;
35019 int num3 = y - 2;
35020 int num4 = y + 3;
35021 if (num < 0)
35022 {
35023 return false;
35024 }
35025 if (num2 > Main.maxTilesX)
35026 {
35027 return false;
35028 }
35029 if (num3 < 0)
35030 {
35031 return false;
35032 }
35033 if (num4 > Main.maxTilesY)
35034 {
35035 return false;
35036 }
35037 for (int i = num; i < num2; i++)
35038 {
35039 for (int j = num3; j < num4; j++)
35040 {
35041 if (Main.tile[i, j] == null)
35042 {
35043 Main.tile[i, j] = new Tile();
35044 }
35045 }
35046 }
35047 int num5 = y;
35048 int num6 = 0;
35049 if (SolidTile2(x, y + 1) && SolidTile2(x + 1, y + 1))
35050 {
35051 num5--;
35052 num6 = Style;
35053 if (Main.tile[x, num5].active() || Main.tile[x + 1, num5].active() || Main.tile[x, num5 + 1].active() || Main.tile[x + 1, num5 + 1].active())
35054 {
35055 return false;
35056 }
35057 int num7 = 36 * num6;
35058 for (int k = 0; k < 2; k++)
35059 {
35060 for (int l = 0; l < 2; l++)
35061 {
35062 Main.tile[x + k, num5 + l].active(active: true);
35063 Main.tile[x + k, num5 + l].type = type;
35064 Main.tile[x + k, num5 + l].frameX = (short)(num7 + 18 * k);
35065 Main.tile[x + k, num5 + l].frameY = (short)(18 * l);
35066 }
35067 }
35068 return true;
35069 }
35070 return false;
35071 }
static bool SolidTile2(Tile testTile)

References Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.DataStructures.Tile, Terraria.Main.tile, and System.type.