More player leaving fixes (#6148)

* Remove unnecessary parentheses.

Took 16 minutes

* Reorder player-left signals

Took 11 seconds

* Connect PlayerManager::playerRemoved signal to TabGame::processPlayerLeave.

Took 21 seconds

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2025-09-15 20:03:00 +02:00 committed by GitHub
parent f4fbe90a72
commit 190ab211e3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 4 additions and 3 deletions

View file

@ -149,6 +149,7 @@ void TabGame::connectToGameState()
void TabGame::connectToPlayerManager()
{
connect(game->getPlayerManager(), &PlayerManager::playerAdded, this, &TabGame::addPlayer);
connect(game->getPlayerManager(), &PlayerManager::playerRemoved, this, &TabGame::processPlayerLeave);
// update menu text when player concedes so that "concede" gets updated to "unconcede"
connect(game->getPlayerManager(), &PlayerManager::playerConceded, this, &TabGame::retranslateUi);
}

View file

@ -85,7 +85,7 @@ void GameScene::rearrange()
Player *p = playersIter.next()->getPlayer();
if (p && !p->getConceded()) {
playersPlaying.append(p);
if (!firstPlayerFound && (p->getPlayerInfo()->getLocal())) {
if (!firstPlayerFound && p->getPlayerInfo()->getLocal()) {
firstPlayerIndex = playersPlaying.size() - 1;
firstPlayerFound = true;
}

View file

@ -57,9 +57,9 @@ void PlayerManager::removePlayer(int playerId)
if (!player) {
return;
}
players.remove(playerId);
emit playerCountChanged();
emit playerRemoved(player);
emit playerCountChanged();
players.remove(playerId);
}
Player *PlayerManager::getPlayer(int playerId) const