#include "game-engine.h" GameEngine::GameEngine() : _logger( Logger::instance() ) { this->_logger.info( "Creating GameEngine Object" ); } GameEngine::~GameEngine() { this->_logger.info( "Cleaning GameEngine Object" ); } void GameEngine::close(){ this->isRunning = false; } void GameEngine::init() { this->isRunning = false; this->_currScene = ""; } // void GameEngine::changeScene( Scene scene ){} Scene* GameEngine::currentScene() { return nullptr; } void GameEngine::run() { this->isRunning = true; this->_frame = 0; std::chrono::system_clock::time_point now = std::chrono::system_clock::now(); std::time_t _frametime = std::chrono::system_clock::to_time_t(now); while( this->isRunning ) { this->update(); } } void GameEngine::update() { this->_entityManager.update(); std::chrono::system_clock::time_point now = std::chrono::system_clock::now(); if( ++this->_frame > 10000 ) { this->close(); } else if ( this->_frame % 1000 == 0 ) { std::time_t cTime = std::chrono::system_clock::to_time_t(now); size_t delTime = cTime - this->_frametime; this->_frametime = cTime; printf( "Frame: %i at %.2f fps\n", this->_frame / 1000, delTime == 0 ? 0.0 : 1.0 / delTime ); } } void GameEngine::handleInput() { }