#pragma once #include #include #include #include "rendering/gl_renderer.hpp" #include "states/istate.hpp" #include "utils/globals.hpp" namespace Nimbin { class Game { GlRendererPtr _gl_renderer{}; cpputils::unique_ptr _state; SDL_Window* _window {}; public: ~Game(); void change_State (cpputils::unique_ptr next); void handle_Event (const SDL_Event& event); bool init (); void update (double dt_ns); void render (); void shutdown (); }; } // namespace Nimbin