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

◆ CutTilesAt()

void Terraria.Projectile.CutTilesAt ( Vector2 boxPosition,
int boxWidth,
int boxHeight )
inlineprivate

Definition at line 13229 of file Projectile.cs.

13230 {
13231 int num = (int)(boxPosition.X / 16f);
13232 int num2 = (int)((boxPosition.X + (float)boxWidth) / 16f) + 1;
13233 int num3 = (int)(boxPosition.Y / 16f);
13234 int num4 = (int)((boxPosition.Y + (float)boxHeight) / 16f) + 1;
13235 if (num < 0)
13236 {
13237 num = 0;
13238 }
13239 if (num2 > Main.maxTilesX)
13240 {
13241 num2 = Main.maxTilesX;
13242 }
13243 if (num3 < 0)
13244 {
13245 num3 = 0;
13246 }
13247 if (num4 > Main.maxTilesY)
13248 {
13249 num4 = Main.maxTilesY;
13250 }
13251 bool[] tileCutIgnorance = Main.player[owner].GetTileCutIgnorance(allowRegrowth: false, trap);
13252 for (int i = num; i < num2; i++)
13253 {
13254 for (int j = num3; j < num4; j++)
13255 {
13256 if (Main.tile[i, j] != null && Main.tileCut[Main.tile[i, j].type] && !tileCutIgnorance[Main.tile[i, j].type] && WorldGen.CanCutTile(i, j, TileCuttingContext.AttackProjectile))
13257 {
13258 WorldGen.KillTile(i, j);
13259 if (Main.netMode != 0)
13260 {
13261 NetMessage.SendData(17, -1, -1, null, 0, i, j);
13262 }
13263 }
13264 }
13265 }
13266 }

References Terraria.WorldGen.CanCutTile(), Terraria.WorldGen.KillTile(), Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.Main.netMode, Terraria.Projectile.owner, Terraria.Main.player, Terraria.NetMessage.SendData(), Terraria.Main.tile, Terraria.Main.tileCut, and Terraria.Projectile.trap.

Referenced by Terraria.Projectile.CutTiles().