mirror of
https://github.com/TheRavenwoodArts/LunaLightXMG.git
synced 2026-07-30 22:55:03 -07:00
Stuck in wall bug (#5)
* Created a GetCollisionSide method. * Bug Fixed and Tested Co-authored-by: jme9 <jme9@pdx.edu>
This commit is contained in:
+36
-2
@@ -33,13 +33,47 @@ namespace LunaLightXMG
|
||||
}
|
||||
|
||||
// Method to check if a position is colliding with any wall
|
||||
public static bool WallCheck(Vector2 position, BoundingBox boundingBox, Platform[] platforms)
|
||||
public static bool WallCheck(Vector2 position, BoundingBox boundingBox, Platform[] platform)
|
||||
{
|
||||
if (IsColliding(position + new Vector2(1, 0), boundingBox, platforms) || IsColliding(position + new Vector2(-1, 0), boundingBox, platforms))
|
||||
if (IsColliding(position + new Vector2(1, 0), boundingBox, platform) || IsColliding(position + new Vector2(-1, 0), boundingBox, platform))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Method to get the collision side
|
||||
public enum CollisionSide
|
||||
{
|
||||
None,
|
||||
Top,
|
||||
Bottom,
|
||||
Left,
|
||||
Right
|
||||
}
|
||||
|
||||
public static CollisionSide GetCollisionSide(Vector2 position, BoundingBox boundingBox, Platform[] platform)
|
||||
{
|
||||
if (IsColliding(position + new Vector2(-1, 0), boundingBox, platform))
|
||||
{
|
||||
return CollisionSide.Left;
|
||||
}
|
||||
else if (IsColliding(position + new Vector2(1, 0), boundingBox, platform))
|
||||
{
|
||||
return CollisionSide.Right;
|
||||
}
|
||||
else if (IsColliding(position + new Vector2(0, -1), boundingBox, platform))
|
||||
{
|
||||
return CollisionSide.Top;
|
||||
}
|
||||
else if (IsColliding(position + new Vector2(0, 1), boundingBox, platform))
|
||||
{
|
||||
return CollisionSide.Bottom;
|
||||
}
|
||||
else
|
||||
{
|
||||
return CollisionSide.None;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user