Files
dae16-VerhulstBram-GameProject/Game/Levels/World/WorldLevel.h
2024-05-14 12:28:37 +02:00

60 lines
1.2 KiB
C++

#pragma once
#include "Building.h"
#include "Collision.h"
#include "Levels/Level.h"
#include "Player.h"
#include "GridSystem/WorldGridManager.h"
#include "Gui/Screens/ScreenManager.h"
#include "Camera.h"
#include "Gui/GuiMeter.h"
#include "Gui/Screens/MainScreen.h"
#include "Particle/Particle.h"
class WorldLevel : public Level
{
public:
WorldLevel(Camera* camera, Rectf viewport);
virtual ~WorldLevel() override;
WorldLevel(const WorldLevel& other) = default;
WorldLevel(WorldLevel&& other) = default;
void Update(float elapsedSec) override;
void Draw() const override;
void MouseMove(const Vector2f& mousePos) override;
void ProcessImGui() override;
WorldGridManager& GetGridManager();
std::vector<Collision::CollisionRect> m_Rects;
private:
double m_Fps{ 0.0f };
WorldGridManager m_GridManager;
Player m_Player;
Vector2f m_MousePos {};
Rectf m_Viewport;
ScreenManager* m_ScreenManager;
WorldTile* m_pSelectedTile { nullptr };
std::vector<Building> m_Buildings{};
MainScreen* m_MainScreen{};
Texture* m_topCover{ nullptr };
// ImGui Vars
bool m_ShowTextureManagerWindow { false };
bool m_ShowCameraWindow { false };
bool m_ShowPlayerInfo { true };
bool m_FollowPlayer { true };
};