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

◆ QuickMinecartSnap()

bool Terraria.Player.QuickMinecartSnap ( )
inlineprivate

Definition at line 5086 of file Player.cs.

5087 {
5088 bool result = false;
5089 List<Point> tilesIn = Collision.GetTilesIn(base.TopLeft - new Vector2(24f), base.BottomRight + new Vector2(24f));
5090 if (tilesIn.Count > 0)
5091 {
5092 Point? point = null;
5093 _ = base.Hitbox;
5094 for (int i = 0; i < tilesIn.Count; i++)
5095 {
5096 Point point2 = tilesIn[i];
5097 Tile tileSafely = Framing.GetTileSafely(point2.X, point2.Y);
5098 if (tileSafely.active() && tileSafely.type == 314)
5099 {
5100 Vector2 vector = tilesIn[i].ToVector2() * 16f + new Vector2(8f);
5101 if (!point.HasValue || (Distance(vector) < Distance(point.Value.ToVector2() * 16f + new Vector2(8f)) && Collision.CanHitLine(base.Center, 0, 0, vector, 0, 0)))
5102 {
5103 point = tilesIn[i];
5104 }
5105 }
5106 }
5107 if (point.HasValue)
5108 {
5109 LaunchMinecartHook(point.Value.X, point.Value.Y);
5110 result = true;
5111 }
5112 }
5113 return result;
5114 }
float Distance(Vector2 Other)
Definition Entity.cs:187
void LaunchMinecartHook(int myX, int myY)
Definition Player.cs:31273

References Terraria.Collision.CanHitLine(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, Terraria.Entity.Distance(), Terraria.Framing.GetTileSafely(), Terraria.Collision.GetTilesIn(), Terraria.Player.LaunchMinecartHook(), Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.

Referenced by Terraria.Player.QuickMount().