mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-14 14:32:15 -07:00
Merge branch 'master' into build/6162-use-vcpk-everywhere-aqt-install
This commit is contained in:
commit
b476abf2a5
7 changed files with 26 additions and 30 deletions
|
|
@ -340,6 +340,8 @@ void GameEventHandler::eventPlayerPropertiesChanged(const Event_PlayerProperties
|
||||||
while (playerIterator.hasNext())
|
while (playerIterator.hasNext())
|
||||||
playerIterator.next().value()->updateZones();
|
playerIterator.next().value()->updateZones();
|
||||||
|
|
||||||
|
emit logConcede(eventPlayerId);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GameEventContext::UNCONCEDE: {
|
case GameEventContext::UNCONCEDE: {
|
||||||
|
|
@ -349,6 +351,8 @@ void GameEventHandler::eventPlayerPropertiesChanged(const Event_PlayerProperties
|
||||||
while (playerIterator.hasNext())
|
while (playerIterator.hasNext())
|
||||||
playerIterator.next().value()->updateZones();
|
playerIterator.next().value()->updateZones();
|
||||||
|
|
||||||
|
emit logUnconcede(eventPlayerId);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GameEventContext::DECK_SELECT: {
|
case GameEventContext::DECK_SELECT: {
|
||||||
|
|
|
||||||
|
|
@ -122,6 +122,8 @@ signals:
|
||||||
void logGameClosed();
|
void logGameClosed();
|
||||||
void logActivePlayer(Player *activePlayer);
|
void logActivePlayer(Player *activePlayer);
|
||||||
void logActivePhaseChanged(int activePhase);
|
void logActivePhaseChanged(int activePhase);
|
||||||
|
void logConcede(int playerId);
|
||||||
|
void logUnconcede(int playerId);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // COCKATRICE_GAME_EVENT_HANDLER_H
|
#endif // COCKATRICE_GAME_EVENT_HANDLER_H
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,10 @@ GameState::GameState(AbstractGame *parent,
|
||||||
clients(_clients), gameStateKnown(_gameStateKnown), resuming(_resuming), currentPhase(_currentPhase),
|
clients(_clients), gameStateKnown(_gameStateKnown), resuming(_resuming), currentPhase(_currentPhase),
|
||||||
activePlayer(-1), gameClosed(_gameClosed)
|
activePlayer(-1), gameClosed(_gameClosed)
|
||||||
{
|
{
|
||||||
|
gameTimer = new QTimer(this);
|
||||||
|
gameTimer->setInterval(1000);
|
||||||
|
connect(gameTimer, &QTimer::timeout, this, &GameState::incrementGameTime);
|
||||||
|
gameTimer->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GameState::incrementGameTime()
|
void GameState::incrementGameTime()
|
||||||
|
|
@ -24,6 +28,7 @@ void GameState::incrementGameTime()
|
||||||
|
|
||||||
void GameState::setGameTime(int _secondsElapsed)
|
void GameState::setGameTime(int _secondsElapsed)
|
||||||
{
|
{
|
||||||
|
secondsElapsed = _secondsElapsed;
|
||||||
int seconds = _secondsElapsed;
|
int seconds = _secondsElapsed;
|
||||||
int minutes = seconds / 60;
|
int minutes = seconds / 60;
|
||||||
seconds -= minutes * 60;
|
seconds -= minutes * 60;
|
||||||
|
|
@ -33,12 +38,4 @@ void GameState::setGameTime(int _secondsElapsed)
|
||||||
emit updateTimeElapsedLabel(QString::number(hours).rightJustified(2, '0') + ":" +
|
emit updateTimeElapsedLabel(QString::number(hours).rightJustified(2, '0') + ":" +
|
||||||
QString::number(minutes).rightJustified(2, '0') + ":" +
|
QString::number(minutes).rightJustified(2, '0') + ":" +
|
||||||
QString::number(seconds).rightJustified(2, '0'));
|
QString::number(seconds).rightJustified(2, '0'));
|
||||||
}
|
|
||||||
|
|
||||||
void GameState::startGameTimer()
|
|
||||||
{
|
|
||||||
gameTimer = new QTimer(this);
|
|
||||||
gameTimer->setInterval(1000);
|
|
||||||
connect(gameTimer, &QTimer::timeout, this, &GameState::incrementGameTime);
|
|
||||||
gameTimer->start();
|
|
||||||
}
|
}
|
||||||
|
|
@ -91,15 +91,12 @@ public:
|
||||||
void onStartedChanged(bool _started)
|
void onStartedChanged(bool _started)
|
||||||
{
|
{
|
||||||
if (_started) {
|
if (_started) {
|
||||||
startGameTimer();
|
|
||||||
emit gameStarted(_started);
|
emit gameStarted(_started);
|
||||||
} else {
|
} else {
|
||||||
emit gameStopped();
|
emit gameStopped();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void startGameTimer();
|
|
||||||
|
|
||||||
void setGameStateKnown(bool known)
|
void setGameStateKnown(bool known)
|
||||||
{
|
{
|
||||||
gameStateKnown = known;
|
gameStateKnown = known;
|
||||||
|
|
|
||||||
|
|
@ -72,14 +72,6 @@ Player *PlayerManager::getPlayer(int playerId) const
|
||||||
|
|
||||||
void PlayerManager::onPlayerConceded(int playerId, bool conceded)
|
void PlayerManager::onPlayerConceded(int playerId, bool conceded)
|
||||||
{
|
{
|
||||||
// GameEventHandler cares about this for sending the concede/unconcede commands
|
|
||||||
if (isLocalPlayer(playerId)) {
|
|
||||||
if (conceded) {
|
|
||||||
emit activeLocalPlayerConceded();
|
|
||||||
} else {
|
|
||||||
emit activeLocalPlayerUnconceded();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Everything else cares about this
|
// Everything else cares about this
|
||||||
if (conceded) {
|
if (conceded) {
|
||||||
emit playerConceded(playerId);
|
emit playerConceded(playerId);
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,6 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, GameReplay *_replay)
|
||||||
connectToGameEventHandler();
|
connectToGameEventHandler();
|
||||||
connectPlayerListToGameEventHandler();
|
connectPlayerListToGameEventHandler();
|
||||||
connectMessageLogToGameEventHandler();
|
connectMessageLogToGameEventHandler();
|
||||||
connectMessageLogToPlayerHandler();
|
|
||||||
|
|
||||||
retranslateUi();
|
retranslateUi();
|
||||||
connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this,
|
connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this,
|
||||||
|
|
@ -124,7 +123,6 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor,
|
||||||
connectToGameEventHandler();
|
connectToGameEventHandler();
|
||||||
connectPlayerListToGameEventHandler();
|
connectPlayerListToGameEventHandler();
|
||||||
connectMessageLogToGameEventHandler();
|
connectMessageLogToGameEventHandler();
|
||||||
connectMessageLogToPlayerHandler();
|
|
||||||
|
|
||||||
retranslateUi();
|
retranslateUi();
|
||||||
connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this,
|
connect(&SettingsCache::instance().shortcuts(), &ShortcutsSettings::shortCutChanged, this,
|
||||||
|
|
@ -152,6 +150,7 @@ void TabGame::connectToPlayerManager()
|
||||||
connect(game->getPlayerManager(), &PlayerManager::playerRemoved, this, &TabGame::processPlayerLeave);
|
connect(game->getPlayerManager(), &PlayerManager::playerRemoved, this, &TabGame::processPlayerLeave);
|
||||||
// update menu text when player concedes so that "concede" gets updated to "unconcede"
|
// update menu text when player concedes so that "concede" gets updated to "unconcede"
|
||||||
connect(game->getPlayerManager(), &PlayerManager::playerConceded, this, &TabGame::retranslateUi);
|
connect(game->getPlayerManager(), &PlayerManager::playerConceded, this, &TabGame::retranslateUi);
|
||||||
|
connect(game->getPlayerManager(), &PlayerManager::playerUnconceded, this, &TabGame::retranslateUi);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabGame::connectToGameEventHandler()
|
void TabGame::connectToGameEventHandler()
|
||||||
|
|
@ -206,16 +205,13 @@ void TabGame::connectMessageLogToGameEventHandler()
|
||||||
connect(game->getGameEventHandler(), &GameEventHandler::logTurnReversed, messageLog,
|
connect(game->getGameEventHandler(), &GameEventHandler::logTurnReversed, messageLog,
|
||||||
&MessageLogWidget::logReverseTurn);
|
&MessageLogWidget::logReverseTurn);
|
||||||
|
|
||||||
|
connect(game->getGameEventHandler(), &GameEventHandler::logConcede, messageLog, &MessageLogWidget::logConcede);
|
||||||
|
connect(game->getGameEventHandler(), &GameEventHandler::logUnconcede, messageLog, &MessageLogWidget::logUnconcede);
|
||||||
|
|
||||||
connect(game->getGameEventHandler(), &GameEventHandler::logGameClosed, messageLog,
|
connect(game->getGameEventHandler(), &GameEventHandler::logGameClosed, messageLog,
|
||||||
&MessageLogWidget::logGameClosed);
|
&MessageLogWidget::logGameClosed);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabGame::connectMessageLogToPlayerHandler()
|
|
||||||
{
|
|
||||||
connect(game->getPlayerManager(), &PlayerManager::playerConceded, messageLog, &MessageLogWidget::logConcede);
|
|
||||||
connect(game->getPlayerManager(), &PlayerManager::playerUnconceded, messageLog, &MessageLogWidget::logUnconcede);
|
|
||||||
}
|
|
||||||
|
|
||||||
void TabGame::connectPlayerListToGameEventHandler()
|
void TabGame::connectPlayerListToGameEventHandler()
|
||||||
{
|
{
|
||||||
connect(game->getGameEventHandler(), &GameEventHandler::playerJoined, playerListWidget,
|
connect(game->getGameEventHandler(), &GameEventHandler::playerJoined, playerListWidget,
|
||||||
|
|
@ -497,13 +493,14 @@ void TabGame::actConcede()
|
||||||
if (QMessageBox::question(this, tr("Concede"), tr("Are you sure you want to concede this game?"),
|
if (QMessageBox::question(this, tr("Concede"), tr("Are you sure you want to concede this game?"),
|
||||||
QMessageBox::Yes | QMessageBox::No, QMessageBox::No) != QMessageBox::Yes)
|
QMessageBox::Yes | QMessageBox::No, QMessageBox::No) != QMessageBox::Yes)
|
||||||
return;
|
return;
|
||||||
|
emit game->getPlayerManager()->activeLocalPlayerConceded();
|
||||||
player->setConceded(true);
|
player->setConceded(true);
|
||||||
} else {
|
} else {
|
||||||
if (QMessageBox::question(this, tr("Unconcede"),
|
if (QMessageBox::question(this, tr("Unconcede"),
|
||||||
tr("You have already conceded. Do you want to return to this game?"),
|
tr("You have already conceded. Do you want to return to this game?"),
|
||||||
QMessageBox::Yes | QMessageBox::No, QMessageBox::No) != QMessageBox::Yes)
|
QMessageBox::Yes | QMessageBox::No, QMessageBox::No) != QMessageBox::Yes)
|
||||||
return;
|
return;
|
||||||
|
emit game->getPlayerManager()->activeLocalPlayerUnconceded();
|
||||||
player->setConceded(false);
|
player->setConceded(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -805,6 +802,9 @@ void TabGame::startGame(bool _resuming)
|
||||||
playerListWidget->setGameStarted(true, game->getGameState()->isResuming());
|
playerListWidget->setGameStarted(true, game->getGameState()->isResuming());
|
||||||
game->getGameMetaInfo()->setStarted(true);
|
game->getGameMetaInfo()->setStarted(true);
|
||||||
static_cast<GameScene *>(gameView->scene())->rearrange();
|
static_cast<GameScene *>(gameView->scene())->rearrange();
|
||||||
|
|
||||||
|
aConcede->setText(tr("&Concede"));
|
||||||
|
aConcede->setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabGame::stopGame()
|
void TabGame::stopGame()
|
||||||
|
|
@ -821,6 +821,9 @@ void TabGame::stopGame()
|
||||||
playerListWidget->setGameStarted(false, false);
|
playerListWidget->setGameStarted(false, false);
|
||||||
|
|
||||||
scene->clearViews();
|
scene->clearViews();
|
||||||
|
|
||||||
|
aConcede->setText(tr("&Concede"));
|
||||||
|
aConcede->setEnabled(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabGame::closeGame()
|
void TabGame::closeGame()
|
||||||
|
|
@ -940,6 +943,9 @@ void TabGame::createMenuItems()
|
||||||
connect(aGameInfo, &QAction::triggered, this, &TabGame::actGameInfo);
|
connect(aGameInfo, &QAction::triggered, this, &TabGame::actGameInfo);
|
||||||
aConcede = new QAction(this);
|
aConcede = new QAction(this);
|
||||||
connect(aConcede, &QAction::triggered, this, &TabGame::actConcede);
|
connect(aConcede, &QAction::triggered, this, &TabGame::actConcede);
|
||||||
|
if (!game->getGameMetaInfo()->started()) {
|
||||||
|
aConcede->setEnabled(false);
|
||||||
|
}
|
||||||
connect(game->getPlayerManager(), &PlayerManager::activeLocalPlayerConceded, game->getGameEventHandler(),
|
connect(game->getPlayerManager(), &PlayerManager::activeLocalPlayerConceded, game->getGameEventHandler(),
|
||||||
&GameEventHandler::handleActiveLocalPlayerConceded);
|
&GameEventHandler::handleActiveLocalPlayerConceded);
|
||||||
connect(game->getPlayerManager(), &PlayerManager::activeLocalPlayerUnconceded, game->getGameEventHandler(),
|
connect(game->getPlayerManager(), &PlayerManager::activeLocalPlayerUnconceded, game->getGameEventHandler(),
|
||||||
|
|
@ -1282,7 +1288,6 @@ void TabGame::createMessageDock(bool bReplay)
|
||||||
timeElapsedLabel = new QLabel;
|
timeElapsedLabel = new QLabel;
|
||||||
timeElapsedLabel->setAlignment(Qt::AlignCenter);
|
timeElapsedLabel->setAlignment(Qt::AlignCenter);
|
||||||
connect(game->getGameState(), &GameState::updateTimeElapsedLabel, this, &TabGame::updateTimeElapsedLabel);
|
connect(game->getGameState(), &GameState::updateTimeElapsedLabel, this, &TabGame::updateTimeElapsedLabel);
|
||||||
game->getGameState()->startGameTimer();
|
|
||||||
|
|
||||||
messageLogLayout->addWidget(timeElapsedLabel);
|
messageLogLayout->addWidget(timeElapsedLabel);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,6 @@ public:
|
||||||
void connectToPlayerManager();
|
void connectToPlayerManager();
|
||||||
void connectToGameEventHandler();
|
void connectToGameEventHandler();
|
||||||
void connectMessageLogToGameEventHandler();
|
void connectMessageLogToGameEventHandler();
|
||||||
void connectMessageLogToPlayerHandler();
|
|
||||||
void connectPlayerListToGameEventHandler();
|
void connectPlayerListToGameEventHandler();
|
||||||
TabGame(TabSupervisor *_tabSupervisor, GameReplay *replay);
|
TabGame(TabSupervisor *_tabSupervisor, GameReplay *replay);
|
||||||
~TabGame() override;
|
~TabGame() override;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue