Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ Framing_CheckTile()

static void Terraria.GameContent.Tile_Entities.TEWeaponsRack.Framing_CheckTile ( int callX,
int callY )
inlinestatic

Definition at line 121 of file TEWeaponsRack.cs.

122 {
123 int num = 3;
124 int num2 = 3;
125 if (WorldGen.destroyObject)
126 {
127 return;
128 }
129 int num3 = callX;
130 int num4 = callY;
131 Tile tileSafely = Framing.GetTileSafely(callX, callY);
132 num3 -= tileSafely.frameX / 18 % num;
133 num4 -= tileSafely.frameY / 18 % num2;
134 bool flag = false;
135 for (int i = num3; i < num3 + num; i++)
136 {
137 for (int j = num4; j < num4 + num2; j++)
138 {
139 Tile tile = Main.tile[i, j];
140 if (!tile.active() || tile.type != 471 || tile.wall == 0)
141 {
142 flag = true;
143 }
144 }
145 }
146 if (!flag)
147 {
148 return;
149 }
150 int num5 = Find(num3, num4);
151 if (num5 != -1 && ((TEWeaponsRack)TileEntity.ByID[num5]).item.stack > 0)
152 {
153 ((TEWeaponsRack)TileEntity.ByID[num5]).DropItem();
154 if (Main.netMode != 2)
155 {
156 Main.LocalPlayer.InterruptItemUsageIfOverTile(471);
157 }
158 }
159 WorldGen.destroyObject = true;
160 for (int k = num3; k < num3 + num; k++)
161 {
162 for (int l = num4; l < num4 + num2; l++)
163 {
164 if (Main.tile[k, l].active() && Main.tile[k, l].type == 471)
165 {
166 WorldGen.KillTile(k, l);
167 }
168 }
169 }
170 Item.NewItem(new EntitySource_TileBreak(num3, num4), num3 * 16, num4 * 16, 48, 48, 2699);
171 Kill(num3, num4);
172 WorldGen.destroyObject = false;
173 }
static Dictionary< int, TileEntity > ByID
Definition TileEntity.cs:18

References Terraria.GameContent.Tile_Entities.TEWeaponsRack.TEWeaponsRack(), Terraria.Tile.active(), Terraria.DataStructures.TileEntity.ByID, Terraria.WorldGen.destroyObject, Terraria.GameContent.Tile_Entities.TEWeaponsRack.Find(), Terraria.Framing.GetTileSafely(), Terraria.GameContent.Tile_Entities.TEWeaponsRack.Kill(), Terraria.WorldGen.KillTile(), Terraria.Main.LocalPlayer, Terraria.Main.netMode, Terraria.Item.NewItem(), Terraria.Main.tile, Terraria.Tile.type, and Terraria.Tile.wall.

Referenced by Terraria.WorldGen.TileFrame().