fix Lobby timer

This commit is contained in:
2023-08-12 14:48:38 +02:00
parent 68b389f938
commit add62fb24a

View File

@@ -46,20 +46,26 @@ void Lobby::Tick() {
} }
void Lobby::SendTimeRemaining() { void Lobby::SendTimeRemaining() {
protocol::UpdateLobbyTimePacket packet(m_StartTime); // converting second to millis protocol::UpdateLobbyTimePacket packet(m_StartTime);
m_Server->BroadcastPacket(&packet); m_Server->BroadcastPacket(&packet);
} }
void Lobby::OnPlayerJoin(std::uint8_t playerID) { void Lobby::OnPlayerJoin(std::uint8_t playerID) {
if (m_GameStarted) if (m_GameStarted)
return; return;
utils::LOG("(Server) Player Joined Lobby !"); utils::LOG("(Server) Player Joined Lobby !");
m_Players.push_back(playerID); m_Players.push_back(playerID);
if (m_Players.size() == MIN_PLAYER_WAITING) { // start timer if a second player join the match if (m_Players.size() == MIN_PLAYER_WAITING) { // start timer if a second player join the match
m_StartTime = utils::GetTime() + static_cast<std::uint64_t>(LobbyWaitingTime); m_StartTime = utils::GetTime() + static_cast<std::uint64_t>(LobbyWaitingTime);
m_Timer.Reset(); m_Timer.Reset();
SendTimeRemaining(); SendTimeRemaining();
} }
// notify player that just arrived
protocol::UpdateLobbyTimePacket packet(m_StartTime);
m_Server->GetConnexions().at(playerID).SendPacket(&packet);
} }
void Lobby::OnPlayerLeave(std::uint8_t playerID) { void Lobby::OnPlayerLeave(std::uint8_t playerID) {