mirror of
https://github.com/HowestDAE/dae16-VerhulstBram.git
synced 2025-12-16 21:01:48 +01:00
65 lines
1.3 KiB
C++
65 lines
1.3 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 "OrbitingObject.h"
|
|
#include "Text.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{};
|
|
|
|
OrbitingObject* m_Sun{ nullptr };
|
|
OrbitingObject* m_Moon{ nullptr };
|
|
|
|
Texture* m_topCover{ nullptr };
|
|
|
|
// ImGui Vars
|
|
bool m_ShowTextureManagerWindow { false };
|
|
bool m_ShowCameraWindow { false };
|
|
bool m_ShowPlayerInfo { true };
|
|
|
|
bool m_FollowPlayer { true };
|
|
};
|