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

◆ CheckForPassThrough()

static bool Terraria.Physics.BallCollision.CheckForPassThrough ( Vector2 center,
out BallPassThroughType type,
out Tile contactTile )
inlinestaticprivate

Definition at line 91 of file BallCollision.cs.

92 {
93 Point tileCoordinates = center.ToTileCoordinates();
94 Tile tile = (contactTile = Main.tile[tileCoordinates.X, tileCoordinates.Y]);
96 if (tile == null)
97 {
98 return false;
99 }
100 if (tile.nactive())
101 {
103 return IsPositionInsideTile(center, tileCoordinates, tile);
104 }
105 if (tile.liquid > 0)
106 {
107 float num = (float)(tileCoordinates.Y + 1) * 16f - (float)(int)tile.liquid / 255f * 16f;
108 switch (tile.liquidType())
109 {
110 case 1:
112 break;
113 case 2:
115 break;
116 default:
118 break;
119 }
120 return num < center.Y;
121 }
122 return false;
123 }
static bool IsPositionInsideTile(Vector2 position, Point tileCoordinates, Tile tile)

References Terraria.Tile.Tile(), Terraria.Physics.BallCollision.IsPositionInsideTile(), Terraria.Tile.liquid, Terraria.Tile.liquidType(), Terraria.Tile.nactive(), Terraria.Main.tile, System.type, Microsoft.Xna.Framework.Point.X, Microsoft.Xna.Framework.Point.Y, and Microsoft.Xna.Framework.Vector2.Y.

Referenced by Terraria.Physics.BallCollision.Step().