Properly respond to game started again.

Took 49 minutes
This commit is contained in:
Lukas Brübach 2025-09-07 14:24:28 +02:00
parent 0d9969b365
commit d84c5864fd
3 changed files with 21 additions and 0 deletions

View file

@ -109,6 +109,7 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor,
connect(gameState, &GameState::playerAdded, this, &TabGame::addPlayer); connect(gameState, &GameState::playerAdded, this, &TabGame::addPlayer);
connect(gameState, &GameState::spectatorAdded, this, &TabGame::addSpectator); connect(gameState, &GameState::spectatorAdded, this, &TabGame::addSpectator);
connect(gameMetaInfo, &GameMetaInfo::startedChanged, gameState, &GameState::onStartedChanged);
connect(gameState, &GameState::gameStarted, this, &TabGame::startGame); connect(gameState, &GameState::gameStarted, this, &TabGame::startGame);
gameEventHandler = new GameEventHandler(this); gameEventHandler = new GameEventHandler(this);

View file

@ -124,34 +124,44 @@ void GameEventHandler::processGameEventContainer(const GameEventContainer &cont,
switch (eventType) { switch (eventType) {
case GameEvent::GAME_STATE_CHANGED: case GameEvent::GAME_STATE_CHANGED:
qInfo() << "Game state changed event";
eventGameStateChanged(event.GetExtension(Event_GameStateChanged::ext), playerId, context); eventGameStateChanged(event.GetExtension(Event_GameStateChanged::ext), playerId, context);
break; break;
case GameEvent::PLAYER_PROPERTIES_CHANGED: case GameEvent::PLAYER_PROPERTIES_CHANGED:
qInfo() << "player prop event";
eventPlayerPropertiesChanged(event.GetExtension(Event_PlayerPropertiesChanged::ext), playerId, eventPlayerPropertiesChanged(event.GetExtension(Event_PlayerPropertiesChanged::ext), playerId,
context); context);
break; break;
case GameEvent::JOIN: case GameEvent::JOIN:
qInfo() << "join event";
eventJoin(event.GetExtension(Event_Join::ext), playerId, context); eventJoin(event.GetExtension(Event_Join::ext), playerId, context);
break; break;
case GameEvent::LEAVE: case GameEvent::LEAVE:
qInfo() << "leave event";
eventLeave(event.GetExtension(Event_Leave::ext), playerId, context); eventLeave(event.GetExtension(Event_Leave::ext), playerId, context);
break; break;
case GameEvent::KICKED: case GameEvent::KICKED:
qInfo() << "kicked event";
eventKicked(event.GetExtension(Event_Kicked::ext), playerId, context); eventKicked(event.GetExtension(Event_Kicked::ext), playerId, context);
break; break;
case GameEvent::GAME_HOST_CHANGED: case GameEvent::GAME_HOST_CHANGED:
qInfo() << "host changed event";
eventGameHostChanged(event.GetExtension(Event_GameHostChanged::ext), playerId, context); eventGameHostChanged(event.GetExtension(Event_GameHostChanged::ext), playerId, context);
break; break;
case GameEvent::GAME_CLOSED: case GameEvent::GAME_CLOSED:
qInfo() << "game closed event";
eventGameClosed(event.GetExtension(Event_GameClosed::ext), playerId, context); eventGameClosed(event.GetExtension(Event_GameClosed::ext), playerId, context);
break; break;
case GameEvent::SET_ACTIVE_PLAYER: case GameEvent::SET_ACTIVE_PLAYER:
qInfo() << "set active player event";
eventSetActivePlayer(event.GetExtension(Event_SetActivePlayer::ext), playerId, context); eventSetActivePlayer(event.GetExtension(Event_SetActivePlayer::ext), playerId, context);
break; break;
case GameEvent::SET_ACTIVE_PHASE: case GameEvent::SET_ACTIVE_PHASE:
qInfo() << "set active phase";
eventSetActivePhase(event.GetExtension(Event_SetActivePhase::ext), playerId, context); eventSetActivePhase(event.GetExtension(Event_SetActivePhase::ext), playerId, context);
break; break;
case GameEvent::REVERSE_TURN: case GameEvent::REVERSE_TURN:
qInfo() << "reverse turn event";
eventReverseTurn(event.GetExtension(Event_ReverseTurn::ext), playerId, context); eventReverseTurn(event.GetExtension(Event_ReverseTurn::ext), playerId, context);
break; break;

View file

@ -199,6 +199,16 @@ public:
return gameClosed; return gameClosed;
} }
void onStartedChanged(bool _started)
{
if (_started) {
startGameTimer();
emit gameStarted(_started);
} else {
emit gameStopped();
}
}
void startGameTimer(); void startGameTimer();
void setGameStateKnown(bool known) void setGameStateKnown(bool known)