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

◆ CanSnapToPosition()

bool Terraria.Player.CanSnapToPosition ( Vector2 offset)
inline

Definition at line 31160 of file Player.cs.

31161 {
31162 if (Collision.SolidCollision(position + offset, width, height))
31163 {
31164 return false;
31165 }
31166 bool canSnapToPosition = Collision.CanHit(position, width, height, position + offset, width, height);
31167 if (!canSnapToPosition)
31168 {
31170 if (!canSnapToPosition)
31171 {
31172 int num = Math.Sign(offset.X);
31173 if (num != 0)
31174 {
31175 Vector2 vector = new Vector2(num * width, 0f);
31176 if (Collision.TileCollision(position, vector, width, height, fallThrough: true, fall2: true, (int)gravDir) == vector)
31177 {
31179 }
31180 }
31181 }
31182 }
31183 return canSnapToPosition;
31184 }
static int Sign(decimal value)
Definition Math.cs:1202
Vector2 position
Definition Entity.cs:14
void TryAllowingSnappingToPosition(ref bool canSnapToPosition, Vector2 pos1, Vector2 pos2)
Definition Player.cs:31186

References Terraria.Collision.CanHit(), System.offset, System.Math.Sign(), Terraria.Collision.SolidCollision(), and Terraria.Collision.TileCollision().

Referenced by Terraria.GameContent.PlayerSittingHelper.SitDown(), and Terraria.GameContent.PlayerSleepingHelper.StartSleeping().