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

◆ GetFarthestSpawnPositionOnLine()

Vector2 Terraria.Player.GetFarthestSpawnPositionOnLine ( Vector2 startPos,
float speedX,
float speedY )
inline

Definition at line 46675 of file Player.cs.

46676 {
46677 Vector2 pointPoisition = Main.ReverseGravitySupport(Main.MouseScreen) + Main.screenPosition;
46679 int num = 0;
46680 float num2 = new Vector2(speedX, speedY).Length();
46681 float num3 = (pointPoisition - startPos).Length();
46682 Vector2 center = base.Center;
46683 center.X += direction * 16;
46684 while (Collision.CanHitLine(center, 0, 0, startPos, 0, 0))
46685 {
46686 num++;
46687 startPos.X += speedX;
46688 startPos.Y += speedY;
46689 if ((startPos - pointPoisition).Length() < 20f + Math.Abs(speedX) + Math.Abs(speedY))
46690 {
46692 break;
46693 }
46694 if (num2 * (float)num >= num3)
46695 {
46697 break;
46698 }
46699 }
46700 return startPos;
46701 }
static double Abs(double value)
void LimitPointToPlayerReachableArea(ref Vector2 pointPoisition)
Definition Player.cs:43259

References System.Math.Abs(), Terraria.Collision.CanHitLine(), Microsoft.Xna.Framework.Vector2.Length(), Terraria.Main.MouseScreen, Terraria.Main.ReverseGravitySupport(), and Terraria.Main.screenPosition.