mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-14 14:32:15 -07:00
Hook up the message log widgets to game events again.
Took 33 minutes Took 7 seconds
This commit is contained in:
parent
d84c5864fd
commit
7c7e0a2652
6 changed files with 70 additions and 45 deletions
|
|
@ -121,6 +121,7 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor,
|
|||
createCardInfoDock();
|
||||
createPlayerListDock();
|
||||
createMessageDock();
|
||||
connectMessageLogToGameEventHandler();
|
||||
createPlayAreaWidget();
|
||||
createDeckViewContainerWidget();
|
||||
createReplayDock(nullptr);
|
||||
|
|
@ -150,6 +151,44 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor,
|
|||
QTimer::singleShot(0, this, &TabGame::loadLayout);
|
||||
}
|
||||
|
||||
void TabGame::connectMessageLogToGameEventHandler()
|
||||
{
|
||||
// connect(gameEventHandler, &GameEventHandler:: , messageLog, &MessageLogWidget::);
|
||||
connect(gameEventHandler, &GameEventHandler::gameFlooded, messageLog, &MessageLogWidget::logGameFlooded);
|
||||
connect(gameEventHandler, &GameEventHandler::containerProcessingStarted, messageLog,
|
||||
&MessageLogWidget::containerProcessingStarted);
|
||||
connect(gameEventHandler, &GameEventHandler::containerProcessingDone, messageLog,
|
||||
&MessageLogWidget::containerProcessingDone);
|
||||
connect(gameEventHandler, &GameEventHandler::setContextJudgeName, messageLog,
|
||||
&MessageLogWidget::setContextJudgeName);
|
||||
connect(gameEventHandler, &GameEventHandler::logSpectatorSay, messageLog, &MessageLogWidget::logSpectatorSay);
|
||||
|
||||
connect(gameEventHandler, &GameEventHandler::logJoinPlayer, messageLog, &MessageLogWidget::logJoin);
|
||||
connect(gameEventHandler, &GameEventHandler::logJoinSpectator, messageLog, &MessageLogWidget::logJoinSpectator);
|
||||
connect(gameEventHandler, &GameEventHandler::logLeave, messageLog, &MessageLogWidget::logLeave);
|
||||
connect(gameEventHandler, &GameEventHandler::logKicked, messageLog, &MessageLogWidget::logKicked);
|
||||
connect(gameEventHandler, &GameEventHandler::logConnectionStateChanged, messageLog,
|
||||
&MessageLogWidget::logConnectionStateChanged);
|
||||
|
||||
connect(gameEventHandler, &GameEventHandler::logDeckSelect, messageLog, &MessageLogWidget::logDeckSelect);
|
||||
connect(gameEventHandler, &GameEventHandler::logSideboardLockSet, messageLog,
|
||||
&MessageLogWidget::logSetSideboardLock);
|
||||
connect(gameEventHandler, &GameEventHandler::logReadyStart, messageLog, &MessageLogWidget::logReadyStart);
|
||||
connect(gameEventHandler, &GameEventHandler::logNotReadyStart, messageLog, &MessageLogWidget::logNotReadyStart);
|
||||
connect(gameEventHandler, &GameEventHandler::logGameStart, messageLog, &MessageLogWidget::logGameStart);
|
||||
|
||||
connect(gameEventHandler, &GameEventHandler::playerConceded, messageLog, &MessageLogWidget::logConcede);
|
||||
connect(gameEventHandler, &GameEventHandler::playerUnconceded, messageLog, &MessageLogWidget::logUnconcede);
|
||||
|
||||
connect(gameEventHandler, &GameEventHandler::logActivePlayer, messageLog, &MessageLogWidget::logSetActivePlayer);
|
||||
connect(gameEventHandler, &GameEventHandler::logActivePhaseChanged, messageLog,
|
||||
&MessageLogWidget::logSetActivePhase);
|
||||
|
||||
connect(gameEventHandler, &GameEventHandler::logTurnReversed, messageLog, &MessageLogWidget::logReverseTurn);
|
||||
|
||||
connect(gameEventHandler, &GameEventHandler::logGameClosed, messageLog, &MessageLogWidget::logGameClosed);
|
||||
}
|
||||
|
||||
void TabGame::loadReplay(GameReplay *replay)
|
||||
{
|
||||
gameMetaInfo->setFromProto(replay->game_info());
|
||||
|
|
|
|||
|
|
@ -173,6 +173,7 @@ public:
|
|||
QList<AbstractClient *> &_clients,
|
||||
const Event_GameJoined &event,
|
||||
const QMap<int, QString> &_roomGameTypes);
|
||||
void connectMessageLogToGameEventHandler();
|
||||
void loadReplay(GameReplay *replay);
|
||||
TabGame(TabSupervisor *_tabSupervisor, GameReplay *replay);
|
||||
~TabGame() override;
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@ void GameEventHandler::commandFinished(const Response &response)
|
|||
{
|
||||
if (response.response_code() == Response::RespChatFlood)
|
||||
emit gameFlooded();
|
||||
// messageLog->appendMessage(tr("You are flooding the game. Please wait a couple of seconds."));
|
||||
}
|
||||
|
||||
PendingCommand *GameEventHandler::prepareGameCommand(const ::google::protobuf::Message &cmd)
|
||||
|
|
@ -87,7 +86,7 @@ void GameEventHandler::processGameEventContainer(const GameEventContainer &cont,
|
|||
{
|
||||
const GameEventContext &context = cont.context();
|
||||
emit containerProcessingStarted(context);
|
||||
// messageLog->containerProcessingStarted(context);
|
||||
|
||||
const int eventListSize = cont.event_list_size();
|
||||
for (int i = 0; i < eventListSize; ++i) {
|
||||
const GameEvent &event = cont.event_list(i);
|
||||
|
|
@ -98,11 +97,9 @@ void GameEventHandler::processGameEventContainer(const GameEventContainer &cont,
|
|||
auto id = cont.forced_by_judge();
|
||||
Player *judgep = gameState->getPlayers().value(id, nullptr);
|
||||
if (judgep) {
|
||||
emit setContextJudgeName();
|
||||
// messageLog->setContextJudgeName(judgep->getName());
|
||||
emit setContextJudgeName(judgep->getName());
|
||||
} else if (gameState->getSpectators().contains(id)) {
|
||||
emit setContextJudgeName();
|
||||
// messageLog->setContextJudgeName(QString::fromStdString(gameState->getSpectators().value(id).name()));
|
||||
emit setContextJudgeName(QString::fromStdString(gameState->getSpectators().value(id).name()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -178,7 +175,6 @@ void GameEventHandler::processGameEventContainer(const GameEventContainer &cont,
|
|||
}
|
||||
}
|
||||
emit containerProcessingDone();
|
||||
// messageLog->containerProcessingDone();
|
||||
}
|
||||
|
||||
void GameEventHandler::handleNextTurn()
|
||||
|
|
@ -233,7 +229,6 @@ void GameEventHandler::eventSpectatorSay(const Event_GameSay &event,
|
|||
{
|
||||
const ServerInfo_User &userInfo = gameState->getSpectators().value(eventPlayerId);
|
||||
emit logSpectatorSay(userInfo, QString::fromStdString(event.message()));
|
||||
// messageLog->logSpectatorSay(userInfo, QString::fromStdString(event.message()));
|
||||
}
|
||||
|
||||
void GameEventHandler::eventSpectatorLeave(const Event_Leave &event,
|
||||
|
|
@ -293,7 +288,6 @@ void GameEventHandler::eventGameStateChanged(const Event_GameStateChanged &event
|
|||
game->getGameMetaInfo()->setStarted(event.game_started());
|
||||
if (gameState->isGameStateKnown())
|
||||
emit logGameStart();
|
||||
// messageLog->logGameStart();
|
||||
gameState->setActivePlayer(event.active_player_id());
|
||||
gameState->setCurrentPhase(event.active_phase());
|
||||
} else if (!event.game_started() && game->getGameMetaInfo()->started()) {
|
||||
|
|
@ -337,18 +331,14 @@ void GameEventHandler::eventPlayerPropertiesChanged(const Event_PlayerProperties
|
|||
if (player->getLocal())
|
||||
emit localPlayerReadyStateChanged(player->getId(), ready);
|
||||
if (ready) {
|
||||
emit logReadyStart();
|
||||
// messageLog->logReadyStart(player);
|
||||
emit logReadyStart(player);
|
||||
} else {
|
||||
emit logNotReadyStart();
|
||||
// emit logNotReadyStart(player);
|
||||
// messageLog->logNotReadyStart(player);
|
||||
emit logNotReadyStart(player);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case GameEventContext::CONCEDE: {
|
||||
emit playerConceded();
|
||||
// messageLog->logConcede(player);
|
||||
emit playerConceded(player);
|
||||
player->setConceded(true);
|
||||
|
||||
QMapIterator<int, Player *> playerIterator(gameState->getPlayers());
|
||||
|
|
@ -358,8 +348,7 @@ void GameEventHandler::eventPlayerPropertiesChanged(const Event_PlayerProperties
|
|||
break;
|
||||
}
|
||||
case GameEventContext::UNCONCEDE: {
|
||||
emit playerUnconceded();
|
||||
// messageLog->logUnconcede(player);
|
||||
emit playerUnconceded(player);
|
||||
player->setConceded(false);
|
||||
|
||||
QMapIterator<int, Player *> playerIterator(gameState->getPlayers());
|
||||
|
|
@ -370,9 +359,7 @@ void GameEventHandler::eventPlayerPropertiesChanged(const Event_PlayerProperties
|
|||
}
|
||||
case GameEventContext::DECK_SELECT: {
|
||||
Context_DeckSelect deckSelect = context.GetExtension(Context_DeckSelect::ext);
|
||||
emit logDeckSelect();
|
||||
/*messageLog->logDeckSelect(player, QString::fromStdString(deckSelect.deck_hash()),
|
||||
deckSelect.sideboard_size());*/
|
||||
emit logDeckSelect(player, QString::fromStdString(deckSelect.deck_hash()), deckSelect.sideboard_size());
|
||||
if (game->getGameMetaInfo()->proto().share_decklists_on_load() && deckSelect.has_deck_list() &&
|
||||
eventPlayerId != gameState->getLocalPlayerId()) {
|
||||
emit remotePlayerDeckSelected(QString::fromStdString(deckSelect.deck_list()), eventPlayerId,
|
||||
|
|
@ -384,13 +371,11 @@ void GameEventHandler::eventPlayerPropertiesChanged(const Event_PlayerProperties
|
|||
if (player->getLocal()) {
|
||||
emit localPlayerSideboardLocked(player->getId(), prop.sideboard_locked());
|
||||
}
|
||||
emit logSideboardLockSet();
|
||||
// messageLog->logSetSideboardLock(player, prop.sideboard_locked());
|
||||
emit logSideboardLockSet(player, prop.sideboard_locked());
|
||||
break;
|
||||
}
|
||||
case GameEventContext::CONNECTION_STATE_CHANGED: {
|
||||
// messageLog->logConnectionStateChanged(player, prop.ping_seconds() != -1);
|
||||
emit logConnectionStateChanged();
|
||||
emit logConnectionStateChanged(player, prop.ping_seconds() != -1);
|
||||
break;
|
||||
}
|
||||
default:;
|
||||
|
|
@ -409,8 +394,7 @@ void GameEventHandler::eventJoin(const Event_Join &event, int /*eventPlayerId*/,
|
|||
|
||||
if (playerInfo.spectator()) {
|
||||
gameState->addSpectator(playerId, playerInfo);
|
||||
// messageLog->logJoinSpectator(playerName);
|
||||
emit logJoinSpectator();
|
||||
emit logJoinSpectator(playerName);
|
||||
} else {
|
||||
Player *newPlayer = gameState->addPlayer(playerId, playerInfo.user_info(), game);
|
||||
emit logJoinPlayer(newPlayer);
|
||||
|
|
@ -468,8 +452,6 @@ void GameEventHandler::eventKicked(const Event_Kicked & /*event*/,
|
|||
|
||||
emit logKicked();
|
||||
|
||||
// messageLog->logKicked();
|
||||
|
||||
emit playerKicked();
|
||||
|
||||
game->emitUserEvent();
|
||||
|
|
@ -501,7 +483,6 @@ void GameEventHandler::eventGameClosed(const Event_GameClosed & /*event*/,
|
|||
gameState->setGameClosed(true);
|
||||
emit gameClosed();
|
||||
emit logGameClosed();
|
||||
// messageLog->logGameClosed();
|
||||
game->emitUserEvent();
|
||||
}
|
||||
|
||||
|
|
@ -513,8 +494,7 @@ void GameEventHandler::eventSetActivePlayer(const Event_SetActivePlayer &event,
|
|||
Player *player = gameState->getPlayer(event.active_player_id());
|
||||
if (!player)
|
||||
return;
|
||||
emit logActivePlayer();
|
||||
// messageLog->logSetActivePlayer(player);
|
||||
emit logActivePlayer(player);
|
||||
game->emitUserEvent();
|
||||
}
|
||||
|
||||
|
|
@ -524,9 +504,8 @@ void GameEventHandler::eventSetActivePhase(const Event_SetActivePhase &event,
|
|||
{
|
||||
const int phase = event.phase();
|
||||
if (gameState->getCurrentPhase() != phase) {
|
||||
emit logActivePhaseChanged();
|
||||
emit logActivePhaseChanged(phase);
|
||||
}
|
||||
// messageLog->logSetActivePhase(phase);
|
||||
gameState->setCurrentPhase(phase);
|
||||
game->emitUserEvent();
|
||||
}
|
||||
|
|
@ -96,26 +96,26 @@ signals:
|
|||
void playerKicked();
|
||||
void gameFlooded();
|
||||
void containerProcessingStarted(GameEventContext context);
|
||||
void setContextJudgeName();
|
||||
void setContextJudgeName(QString judgeName);
|
||||
void containerProcessingDone();
|
||||
void logSpectatorSay(ServerInfo_User userInfo, QString message);
|
||||
void logSpectatorLeave(QString name, QString reason);
|
||||
void logGameStart();
|
||||
void logReadyStart();
|
||||
void logNotReadyStart();
|
||||
void playerConceded();
|
||||
void playerUnconceded();
|
||||
void logDeckSelect();
|
||||
void logSideboardLockSet();
|
||||
void logConnectionStateChanged();
|
||||
void logJoinSpectator();
|
||||
void logReadyStart(Player *player);
|
||||
void logNotReadyStart(Player *player);
|
||||
void playerConceded(Player *player);
|
||||
void playerUnconceded(Player *player);
|
||||
void logDeckSelect(Player *player, QString deckHash, int sideboardSize);
|
||||
void logSideboardLockSet(Player *player, bool sideboardLocked);
|
||||
void logConnectionStateChanged(Player *player, bool connected);
|
||||
void logJoinSpectator(QString spectatorName);
|
||||
void logJoinPlayer(Player *player);
|
||||
void logLeave(Player *player, QString reason);
|
||||
void logKicked();
|
||||
void logTurnReversed(Player *player, bool reversed);
|
||||
void logGameClosed();
|
||||
void logActivePlayer();
|
||||
void logActivePhaseChanged();
|
||||
void logActivePlayer(Player *activePlayer);
|
||||
void logActivePhaseChanged(int activePhase);
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_GAME_EVENT_HANDLER_H
|
||||
|
|
|
|||
|
|
@ -391,6 +391,11 @@ void MessageLogWidget::logGameStart()
|
|||
appendHtmlServerMessage(tr("The game has started."));
|
||||
}
|
||||
|
||||
void MessageLogWidget::logGameFlooded()
|
||||
{
|
||||
appendMessage(tr("You are flooding the game. Please wait a couple of seconds."));
|
||||
}
|
||||
|
||||
void MessageLogWidget::logJoin(Player *player)
|
||||
{
|
||||
soundEngine->playSound("player_join");
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ public slots:
|
|||
void logFlipCard(Player *player, QString cardName, bool faceDown);
|
||||
void logGameClosed();
|
||||
void logGameStart();
|
||||
void logGameFlooded();
|
||||
void logJoin(Player *player);
|
||||
void logJoinSpectator(QString name);
|
||||
void logKicked();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue