fix: lobby timer
This commit is contained in:
@@ -27,7 +27,7 @@ ClientGame::~ClientGame(){
|
||||
void ClientGame::tick(std::uint64_t delta){
|
||||
game::Game::tick(delta);
|
||||
m_WorldRenderer.update();
|
||||
if (m_GameState == game::GameState::Lobby && m_Players.size() >= 2){
|
||||
if (m_GameState == game::GameState::Lobby && m_LobbyTime > 0){
|
||||
m_LobbyTime -= delta;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,6 +54,7 @@ void Lobby::OnPlayerJoin(std::uint8_t playerID){
|
||||
if (m_Players.size() == 2){ // start timer if a second player join the match
|
||||
m_StartTimerTime = utils::getTime();
|
||||
m_Timer.reset();
|
||||
sendTimeRemaining();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ void showTeamSelection(){
|
||||
void showLobbyProgress(){
|
||||
const int timePassed = LOBBY_WAITING_TIME - client->getGame().getLobbyTime();
|
||||
const float progress = (float)timePassed / (float)(LOBBY_WAITING_TIME);
|
||||
if (progress > 0 && progress < 1 && client->getGame().getPlayers().size() >= 2){
|
||||
if (progress > 0 && progress < 1){
|
||||
ImGui::ProgressBar(progress, ImVec2(0.0f, 0.0f), std::string(std::to_string(client->getGame().getLobbyTime() / 1000) + "s").c_str());
|
||||
ImGui::SameLine(0.0f, ImGui::GetStyle().ItemInnerSpacing.x);
|
||||
ImGui::Text("Time Remaining");
|
||||
|
||||
Reference in New Issue
Block a user