diff --git a/include/config-parser.h b/include/config-parser.h index 08688673056711edd619c5f75f232a3c7e765036..41bef023a0ed0551d241ea89b20332749e463c59 100644 --- a/include/config-parser.h +++ b/include/config-parser.h @@ -14,17 +14,23 @@ typedef std::map<std::string,std::string> ConfigMap; class ConfigParser { public: - ConfigParser(); + static ConfigParser UserSettings(); + ~ConfigParser(); ConfigMap userSettings(){ return this->readFile( "settings.cfg" ); } + std::string toString() const; + private: + ConfigParser( std::string path ); const std::string CONFIG_DIRECTORY = "config"; const char DELIMINATOR = ':'; const char COMMENT_CHAR = '#'; Logger& _logger; + ConfigMap _config; + ConfigMap readFile( std::string path ); // void writeConfigFile( std::map settings ); diff --git a/src/chunk.cpp b/src/chunk.cpp index b13330b762959b76a9640cbe9522fe08205d9b88..a3d355a530dc8331603a76df90c883845c86e8bc 100644 --- a/src/chunk.cpp +++ b/src/chunk.cpp @@ -46,7 +46,7 @@ std::string Chunk::getRadiationString() const { return std::to_string(this->radi std::string Chunk::getAgeString() const { return std::to_string(this->age); } std::string Chunk::getString( ChunkQuery format ) const - {return "rest";} + { return "rest"; } void Chunk::visualise() const { std::cout << this->getString() << std::endl; } std::string Chunk::getString() const diff --git a/src/config-parser.cpp b/src/config-parser.cpp index 81c39be24995c790cddeb8d466f10ae24b0cf9c3..58df3c1d27a595365f48e51e007d5529557eecac 100644 --- a/src/config-parser.cpp +++ b/src/config-parser.cpp @@ -1,24 +1,27 @@ #include "config-parser.h" -std::ostream& operator<<( std::ostream& os, const ConfigMap& obj ) +ConfigParser ConfigParser::UserSettings() { - for( const auto& [ key, value ] : obj ) - { - os << "[" << key.c_str() << "]" << value.c_str() << std::endl; - } - return os; + ConfigParser parser("settings.cfg"); + return parser; } -ConfigParser::ConfigParser() - : _logger( Logger::instance() ) + +std::string ConfigParser::toString() const { - this->_logger.info( "Creating config parser" ); + std::string str = ""; + for( const auto [key, value] : this->_config ) + { str += "["+key+"] "+value+"\n"; } + return str; } +std::ostream& operator<<( std::ostream& os, const ConfigParser& obj ) { return os << obj.toString(); } + +ConfigParser::ConfigParser( std::string path ) + : _logger( Logger::instance() ) +{ this->_logger.info( "Creating config parser" ); } ConfigParser::~ConfigParser() -{ - this->_logger.info( "Closing config parser" ); -} + { this->_logger.info( "Closing config parser" ); } ConfigMap ConfigParser::readFile( std::string path ) @@ -49,6 +52,7 @@ ConfigMap ConfigParser::readFile( std::string path ) } else { this->_logger.error( "Unable to load specified configuration file:\n"+path ); } + this->_config = confMap; return confMap; } diff --git a/src/main.cpp b/src/main.cpp index 5e11d8edc6a7c23ab9273fc877cec309541122d8..36a585e7d598eb3f4d34ae5743336ff6ad241e70 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,8 +12,8 @@ int main() { SaveManager saveManager; state = Initialise; - ConfigParser configParser; - ConfigMap userSettings = configParser.userSettings(); + ConfigParser userSettings = ConfigParser::UserSettings(); + EntityManager entityManager; // Seed the random number generator