mirror of
https://github.com/HowestDAE/dae16-VerhulstBram.git
synced 2026-02-04 09:19:19 +01:00
Added basic player / collisions in player
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#include "Collision.h"
|
||||
|
||||
#include "utils.h"
|
||||
#include "../Game/Player.h"
|
||||
|
||||
namespace Collision
|
||||
{
|
||||
@@ -120,4 +121,14 @@ namespace Collision
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ResolvePlayerVsRect(Player& player, float ElapsedTime, Collision::CollisionRect* staticRectangle) {
|
||||
CollisionRect rect = player.GetCollisionRect();
|
||||
Collision::ResolveDynamicRectVsRect(rect, ElapsedTime, staticRectangle);
|
||||
// std::map<CollisionDirection, TileCollisionRect*> test = rect.ContactMap;
|
||||
// player.SetContactMap(test);
|
||||
player.SetPosition(rect.pos);
|
||||
player.SetVelocity(rect.vel);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "structs.h"
|
||||
#include "utils.h"
|
||||
|
||||
class Player;
|
||||
class WorldTile;
|
||||
|
||||
namespace Collision
|
||||
@@ -20,12 +21,14 @@ namespace Collision
|
||||
|
||||
struct CollisionRect
|
||||
{
|
||||
|
||||
CollisionRect() = default;
|
||||
CollisionRect(const Point2f& pos, const Point2f& size) : pos(pos), size(size) {}
|
||||
CollisionRect(const Point2f& pos, const Point2f& size, const Point2f& vel) : pos(pos), size(size), vel(vel) {}
|
||||
Point2f pos;
|
||||
Point2f size;
|
||||
Point2f vel;
|
||||
|
||||
std::map<CollisionDirection, CollisionRect*> ContactMap;
|
||||
std::map<CollisionDirection, CollisionRect*> ContactMap{};
|
||||
};
|
||||
|
||||
struct TileCollisionRect
|
||||
@@ -55,4 +58,6 @@ namespace Collision
|
||||
bool DynamicRectVsRect(const CollisionRect& dynamicRectangle, float ElapsedTime, const CollisionRect& staticRectangle, Point2f& contactPoint, Point2f& contactNormal, float& contactTime);
|
||||
|
||||
bool ResolveDynamicRectVsRect(CollisionRect& dynamicRectangle, float ElapsedTime, CollisionRect* staticRectangle);
|
||||
|
||||
bool ResolvePlayerVsRect(Player& player, float ElapsedTime, Collision::CollisionRect* staticRectangle);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user