mirror of
https://github.com/TheRavenwoodArts/LunaLightXMG.git
synced 2026-07-30 22:55:03 -07:00
Super happy jumping pickle man (#3)
* Added enemy class * Added enemy class and fixed DumpFraction bug. * Update README.md * Fixed enemy movement bug, added game music. * Fixed bug: Background music looping. * Fixed enemey getting stuck on wall. Code reorganization * Minor updates
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
using Microsoft.Xna.Framework;
|
||||
|
||||
namespace LunaLightXMG
|
||||
{
|
||||
public class CollisionManager
|
||||
{
|
||||
// Method to check if a position is colliding with any platform
|
||||
public bool IsColliding(Vector2 newPosition, BoundingBox boundingBox, Platform[] platforms)
|
||||
{
|
||||
Rectangle newBounds = new Rectangle((int)newPosition.X, (int)newPosition.Y, boundingBox.Bounds.Width, boundingBox.Bounds.Height);
|
||||
foreach (var platform in platforms)
|
||||
{
|
||||
if (newBounds.Intersects(platform.BoundingBox.Bounds))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Method to check if a position is colliding with any platform and return the colliding platform
|
||||
public Platform GetCollidingPlatform(Vector2 newPosition, BoundingBox boundingBox, Platform[] platforms)
|
||||
{
|
||||
Rectangle newBounds = new Rectangle((int)newPosition.X, (int)newPosition.Y, boundingBox.Bounds.Width, boundingBox.Bounds.Height);
|
||||
foreach (var platform in platforms)
|
||||
{
|
||||
if (newBounds.Intersects(platform.BoundingBox.Bounds))
|
||||
{
|
||||
return platform;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Method to check if a position is colliding with any wall
|
||||
public bool WallCheck(Vector2 position, BoundingBox boundingBox, Platform[] platforms)
|
||||
{
|
||||
if (IsColliding(position + new Vector2(1, 0), boundingBox, platforms) || IsColliding(position + new Vector2(-1, 0), boundingBox, platforms))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user