static void rendering_loop(sf::RenderWindow& window, const Game::LevelManager& lm, const Game::SidePanel& sidePanel, const Game::UI::UI& ui) { while (window.isOpen() && !Game::terminated) { sf::Event event; while (window.pollEvent(event)) { switch (event.type) { case sf::Event::Resized: window.setView(keep_ratio(event.size, sf::Vector2u( Game::WINDOW_WIDTH, Game::WINDOW_HEIGHT))); break; default: break; } } window.clear(); if (ui.isActive()) { window.draw(ui); } else { window.draw(lm); window.draw(sidePanel); } Game::maybeShowFPS(window); window.display(); } if (window.isOpen()) window.close(); }