Add Imgui Navbar

This commit is contained in:
Bram Verhulst
2024-03-18 23:47:13 +01:00
parent 964a1a42f6
commit 6f2a6ead37
8 changed files with 95 additions and 152 deletions

View File

@@ -101,6 +101,10 @@ void BaseGame::InitializeGameEngine()
IMGUI_CHECKVERSION();
ImGui::CreateContext();
//ImGuiIO& io = ImGui::GetIO(); (void)io;
//io.Fonts->AddFontFromFileTTF("ComicSans.ttf", 18.0f, NULL, NULL);
// Setup Dear ImGui style
ImGui::StyleColorsDark();
//ImGui::StyleColorsLight();

View File

@@ -2,11 +2,12 @@
#include "utils.h"
#include "../Game/Player.h"
#include "../Game/WorldTile.h"
namespace Collision
{
TileCollisionRect::TileCollisionRect(const Point2f& pos, const Point2f& size, WorldTile* tile): pos(pos), size(size), tile(tile)
TileCollisionRect::TileCollisionRect(const Point2f& pos, const Point2f& size, WorldTile* tile): CollisionRect(pos, size), tile(tile)
{}
bool PointVsRect(const Point2f p, const Collision::CollisionRect& r) {
return ( p.x >= r.pos.x && p.y >= r.pos.y && p.x < r.pos.x + r.size.x && p.y < r.pos.y + r.size.y );
@@ -125,6 +126,7 @@ namespace Collision
bool ResolvePlayerVsRect(Player& player, float ElapsedTime, Collision::CollisionRect* staticRectangle) {
CollisionRect rect = player.GetCollisionRect();
Collision::ResolveDynamicRectVsRect(rect, ElapsedTime, staticRectangle);
//dynamic_cast<TileCollisionRect*>(rect.ContactMap[CollisionDirection::Bottom])->tile->SetTileType(GroundTileTypes::Air);
// std::map<CollisionDirection, TileCollisionRect*> test = rect.ContactMap;
// player.SetContactMap(test);
player.SetPosition(rect.pos);

View File

@@ -31,14 +31,10 @@ namespace Collision
std::map<CollisionDirection, CollisionRect*> ContactMap{};
};
struct TileCollisionRect
struct TileCollisionRect : virtual public CollisionRect
{
Point2f pos;
Point2f size;
Point2f vel;
TileCollisionRect(const Point2f& pos, const Point2f& size, WorldTile* tile);
WorldTile* tile;
std::map<CollisionDirection, TileCollisionRect*> ContactMap;
bool Contains(Point2f point2_f) {
return utils::IsPointInRect(point2_f, Rectf{ pos.x, pos.y, size.x, size.y });