feat: engine class impl + IApplication interface

This commit is contained in:
2025-10-05 16:27:58 +02:00
parent 9d56515fe5
commit 431d723afc
10 changed files with 318 additions and 263 deletions

View File

@ -7,23 +7,17 @@
#include "window/window.h"
#include "window/events/window.h"
#include "app/app.h"
class Engine {
private:
std::unique_ptr<Window> m_window;
bool m_isRunning;
private:
glm::mat4 m_projection;
public:
Engine();
~Engine();
private:
void Stop();
void Destroy() const;
[[nodiscard]] bool Running() const;
static void Run(std::unique_ptr<IApplication> app);
private:
void HandleWindowResized(const WindowResized& event);
public:
void Run();
private:
static std::unique_ptr<IApplication> s_app;
static std::shared_ptr<Window> s_window;
static bool s_running;
};