10 : m_pluginLoader(std::make_unique<
utl::PluginLoader>()), m_clock(std::make_unique<
utl::Clock>()),
12 m_network(m_pluginLoader->loadPlugin<
INetworkServer>(!config.network_lib_path.empty()
13 ? config.network_lib_path
14 : Path::Plugin::PLUGINS_NETWORK_ASIO_SERVER.string())),
15 m_game(m_pluginLoader->loadPlugin<
gme::IGameServer>(
16 !config.game_lib_path.empty() ? config.game_lib_path : Path::Plugin::PLUGINS_GAME_RTYPE_SERVER.string()))
34 auto startTime = std::chrono::steady_clock::now();
38 auto currentTime = std::chrono::steady_clock::now();
39 const float deltaTime =
40 std::chrono::duration_cast<std::chrono::milliseconds>(currentTime - startTime).count() / 1000.0f;
41 startTime = currentTime;
44 m_game->update(deltaTime);
47 auto sessions = m_network->getConnectedSessions();
48 std::cout <<
"Connected sessions (" << sessions.size() <<
"): ";
49 for (
size_t i = 0; i < sessions.size(); ++i)
51 std::cout << sessions[i];
52 if (i < sessions.size() - 1)
59 std::this_thread::sleep_for(std::chrono::milliseconds(16));