#pragma once #include #include #include #include #include "Engine/Graphics/DebugUI.hpp" typedef enum eGameStatus { GAME_INIT, GAME_RUNNING, GAME_QUIT } GAME_STATUS; class Game final{ public: Game(bool dbg) noexcept(false); ~Game() {} Game(Game&&) = default; Game& operator= (Game&&) = default; Game(Game const&) = delete; Game& operator= (Game const&) = delete; GAME_STATUS Update(); void Render(); private: void InitWindows(); bool gbDbgModeEnabled; std::shared_ptr gMainWindow = nullptr; std::unique_ptr gDbgUI = nullptr; sf::Clock gLoopTimer; std::vector gTicksMonitoring; };