#include "Game.hpp" #include #include using std::make_shared; using std::make_unique; Game::Game(bool dbg) : gbDbgModeEnabled(dbg) { InitWindows(); if (gbDbgModeEnabled) gDbgUI = make_unique(); } void Game::InitWindows() { // Create default game window sf::ContextSettings sWindowSettings; sWindowSettings.depthBits = 0; sWindowSettings.stencilBits = 0; sWindowSettings.antialiasingLevel = 8; sWindowSettings.sRgbCapable = true; gMainWindow = make_shared( sf::VideoMode(1080, 720), "ProtoTank", (sf::Style::Close | sf::Style::Titlebar), sWindowSettings ); gMainWindow->setVerticalSyncEnabled(false); gMainWindow->setFramerateLimit(60); gMainWindow->setKeyRepeatEnabled(false); gMainWindow->setMouseCursorVisible(true); } GAME_STATUS Game::Update() { gLoopTimer.restart(); sf::Event event; while (gMainWindow->pollEvent(event)) { if (event.type == sf::Event::Closed) gMainWindow->close(); } /* auto ticks = static_cast(mLoopTimer.getElapsedTime().asMilliseconds()); gTicksMonitoring.push_back(ticks); double cpuUsage = std::accumulate(gTicksMonitoring.begin(), gTicksMonitoring.end(), 0) / gTicksMonitoring.size(); */ if (gMainWindow->isOpen()) return GAME_RUNNING; else return GAME_QUIT; } void Game::Render() { gMainWindow->clear(); //gDbgUI->UpdateDebugData(gMainWindow); gMainWindow->display(); }