#ifndef RWGAME_GAMEBASE_HPP #define RWGAME_GAMEBASE_HPP #include "GameWindow.hpp" #include "RWConfig.hpp" #include class Logger; /** * @brief Handles basic window and setup */ class GameBase { public: GameBase(Logger& inlog, const std::optional &args); virtual ~GameBase() = 0; GameWindow& getWindow() { return window; } const RWConfig& getConfig() const { return config; } protected: RWConfig buildConfig(const std::optional &args); Logger& log; GameWindow window{}; RWConfig config{}; }; #endif