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

◆ GetTopOrBottomEdge()

static bool Terraria.Physics.BallCollision.GetTopOrBottomEdge ( TileEdges edgesToTest,
int x,
int y,
Vector2 tilePosition,
ref LineSegment edge )
inlinestaticprivate

Definition at line 278 of file BallCollision.cs.

279 {
280 if ((edgesToTest & TileEdges.Bottom) != 0)
281 {
282 Tile tile = Main.tile[x, y + 1];
283 if (IsNeighborSolid(tile) && tile.slope() != 1 && tile.slope() != 2 && !tile.halfBrick())
284 {
285 return false;
286 }
287 edge.Start = new Vector2(tilePosition.X, tilePosition.Y + 16f);
288 edge.End = new Vector2(tilePosition.X + 16f, tilePosition.Y + 16f);
289 return true;
290 }
291 if ((edgesToTest & TileEdges.Top) != 0)
292 {
293 Tile tile2 = Main.tile[x, y - 1];
294 if (!Main.tile[x, y].halfBrick() && IsNeighborSolid(tile2) && tile2.slope() != 3 && tile2.slope() != 4)
295 {
296 return false;
297 }
298 if (Main.tile[x, y].halfBrick())
299 {
300 tilePosition.Y += 8f;
301 }
302 edge.Start = new Vector2(tilePosition.X, tilePosition.Y);
303 edge.End = new Vector2(tilePosition.X + 16f, tilePosition.Y);
304 return true;
305 }
306 return false;
307 }
static bool IsNeighborSolid(Tile tile)

References Terraria.Tile.halfBrick(), Terraria.Physics.BallCollision.IsNeighborSolid(), Terraria.Tile.slope(), Terraria.Main.tile, Microsoft.Xna.Framework.Vector2.X, and Microsoft.Xna.Framework.Vector2.Y.

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