Added basic player / collisions in player

This commit is contained in:
Bram Verhulst
2024-03-18 15:05:11 +01:00
parent 39c744ba79
commit 964a1a42f6
8 changed files with 119 additions and 81 deletions

View File

@@ -1,4 +1,5 @@
#pragma once
#include "Collision.h"
class WorldLevel;
class Player
@@ -6,8 +7,18 @@ class Player
public:
Player(const Point2f& Position);
void Update(float elapsedTime, const WorldLevel& level);
Collision::CollisionRect GetCollisionRect();
void Update(float elapsedTime, WorldLevel& level);
void Draw() const;
void SetPosition(Point2f pos) { m_Position = pos; }
Point2f GetPosition() const { return m_Position; }
void SetVelocity(Point2f vel) { m_Vel = vel; }
Point2f GetVelocity() const { return m_Vel; }
auto GetContactMap(){ return m_ContactMap; }
void SetContactMap(Collision::CollisionDirection dir, WorldTile* tile) { m_ContactMap[dir] = tile; }
private:
Point2f m_Position{};
@@ -15,6 +26,8 @@ private:
Point2f m_Vel{};
std::map<Collision::CollisionDirection, WorldTile*> m_ContactMap{};
Point2f m_Acc{};
Point2f m_Gravity{ 0, -9.81f };
float m_MaxSpeed{ 200 };