#pragma once #define GLFW_INCLUDE_NONE #include #include "render_system.h" #include "macros.h" class Game { private: RenderSystem* m_render; int init(); void mainloop(); void shutdown(); inline bool isGameRunning() const { return m_render->getIsWindowAlive(); } // Copy is not allowed Game(const Game&) = delete; Game& operator=(const Game&) = delete; public: Game() { m_render = new RenderSystem(); } ~Game() { shutdown(); } void run() { int err = init(); if (EXIT_SUCCESS == err) { mainloop(); } } };