2016-10-16 19:21:50 +02:00
|
|
|
#ifndef RWGAME_GAMEBASE_HPP
|
|
|
|
#define RWGAME_GAMEBASE_HPP
|
|
|
|
#include "GameConfig.hpp"
|
|
|
|
#include "GameWindow.hpp"
|
|
|
|
|
|
|
|
#include <core/Logger.hpp>
|
|
|
|
|
|
|
|
#include <boost/program_options.hpp>
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Handles basic window and setup
|
|
|
|
*/
|
|
|
|
class GameBase {
|
|
|
|
public:
|
|
|
|
GameBase(Logger& inlog, int argc, char* argv[]);
|
2018-01-01 04:21:58 +01:00
|
|
|
|
|
|
|
virtual ~GameBase() = 0;
|
2016-10-16 19:21:50 +02:00
|
|
|
|
|
|
|
GameWindow& getWindow() {
|
|
|
|
return window;
|
|
|
|
}
|
|
|
|
|
|
|
|
const GameConfig& getConfig() const {
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
|
|
|
|
protected:
|
|
|
|
Logger& log;
|
2018-05-19 23:55:27 +02:00
|
|
|
GameConfig config{};
|
|
|
|
GameWindow window{};
|
|
|
|
boost::program_options::variables_map options{};
|
2016-10-16 19:21:50 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|