Definition at line 2700 of file Collision.cs.
2701 {
2702 int num = (int)(
Position.X / 16f) - 1;
2703 int num2 = (int)((
Position.X + (
float)Width) / 16f) + 2;
2705 int num4 = (int)((
Position.Y + (
float)Height) / 16f) + 2;
2706 if (num < 0)
2707 {
2708 num = 0;
2709 }
2710 if (
num2 > Main.maxTilesX)
2711 {
2712 num2 = Main.maxTilesX;
2713 }
2715 {
2717 }
2718 if (
num4 > Main.maxTilesY)
2719 {
2720 num4 = Main.maxTilesY;
2721 }
2723 for (
int i = num;
i <
num2;
i++)
2724 {
2726 {
2727 if (Main.tile[i,
j] ==
null)
2728 {
2729 continue;
2730 }
2731 int type = Main.tile[
i,
j].type;
2732 if (!Main.tile[i,
j].active() || (
type != 135 &&
type != 210 &&
type != 443 &&
type != 442))
2733 {
2734 continue;
2735 }
2737 vector.Y =
j * 16 + 12;
2738 bool flag = false;
2740 {
2742 {
2747 switch (Main.tile[i,
j].frameX / 22)
2748 {
2749 case 0:
2754 break;
2755 case 1:
2760 break;
2761 case 2:
2766 break;
2767 case 3:
2772 break;
2773 }
2774 if (Utils.FloatIntersect(
r1StartX,
r1StartY,
r1Width,
r1Height,
Position.X,
Position.Y, Width, Height) && !Utils.FloatIntersect(
r1StartX,
r1StartY,
r1Width,
r1Height, oldPosition.
X, oldPosition.
Y, Width, Height))
2775 {
2777 NetMessage.SendData(59, -1, -1,
null, i,
j);
2778 return true;
2779 }
2780 }
2781 flag = true;
2782 }
2784 {
2785 continue;
2786 }
2788 {
2790 }
2791 else
2792 {
2793 if (oldPosition.
X + (
float)Width >
vector.X && oldPosition.
X <
vector.X + 16f && oldPosition.
Y + (
float)Height >
vector.Y && (
double)oldPosition.
Y < (
double)
vector.Y + 16.01)
2794 {
2795 continue;
2796 }
2798 {
2800 {
2802 NetMessage.SendData(59, -1, -1,
null, i,
j);
2803 }
2804 continue;
2805 }
2806 int num5 = Main.tile[
i,
j].frameY / 18;
2809 {
2811 }
2813 {
2815 }
2817 {
2818 continue;
2819 }
2821 NetMessage.SendData(59, -1, -1,
null, i,
j);
2823 {
2825 if (Main.netMode == 1)
2826 {
2827 NetMessage.SendData(17, -1, -1,
null, 0, i,
j);
2828 }
2829 }
2830 return true;
2831 }
2832 }
2833 }
2834 return false;
2835 }
References Terraria.WorldGen.ExplodeMine(), Terraria.Utils.FloatIntersect(), Terraria.Wiring.HitSwitch(), Terraria.WorldGen.KillTile(), Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.Main.netMode, Terraria.NetMessage.SendData(), Terraria.Main.tile, System.type, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.
Referenced by Terraria.Projectile.AI_149_GolfBall(), Terraria.Projectile.HandleMovement(), Terraria.Player.Update(), Terraria.Projectile.Update(), and Terraria.NPC.UpdateNPC().