mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-14 14:32:15 -07:00
Hook up playerListWidget properly.
Took 1 hour 17 minutes
This commit is contained in:
parent
cf6120628d
commit
040eacee72
5 changed files with 24 additions and 36 deletions
|
|
@ -54,18 +54,16 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor, GameReplay *_replay)
|
|||
gameState = new GameState(0, -1, -1, _tabSupervisor->getIsLocalGame(), QList<AbstractClient *>(), true, false,
|
||||
false, false, -1, false);
|
||||
connect(gameState, &GameState::playerAdded, this, &TabGame::addPlayer);
|
||||
connect(gameState, &GameState::spectatorAdded, this, &TabGame::addSpectator);
|
||||
connect(gameState, &GameState::gameStarted, this, &TabGame::startGame);
|
||||
|
||||
gameEventHandler = new GameEventHandler(this);
|
||||
connect(this, &TabGame::gameLeft, gameEventHandler, &GameEventHandler::handleGameLeft);
|
||||
connect(gameEventHandler, &GameEventHandler::localPlayerDeckSelected, this, &TabGame::processLocalPlayerDeckSelect);
|
||||
connect(gameEventHandler, &GameEventHandler::gameStopped, this, &TabGame::stopGame);
|
||||
connect(gameEventHandler, &GameEventHandler::gameClosed, this, &TabGame::closeGame);
|
||||
connectToGameEventHandler();
|
||||
|
||||
createCardInfoDock(true);
|
||||
createPlayerListDock(true);
|
||||
connectPlayerListToGameEventHandler();
|
||||
createMessageDock(true);
|
||||
connectMessageLogToGameEventHandler();
|
||||
createPlayAreaWidget(true);
|
||||
createDeckViewContainerWidget(true);
|
||||
createReplayDock(_replay);
|
||||
|
|
@ -107,16 +105,12 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor,
|
|||
// THIS CTOR IS USED ON GAMES
|
||||
gameMetaInfo->setStarted(false);
|
||||
connect(gameState, &GameState::playerAdded, this, &TabGame::addPlayer);
|
||||
connect(gameState, &GameState::spectatorAdded, this, &TabGame::addSpectator);
|
||||
|
||||
connect(gameMetaInfo, &GameMetaInfo::startedChanged, gameState, &GameState::onStartedChanged);
|
||||
connect(gameState, &GameState::gameStarted, this, &TabGame::startGame);
|
||||
|
||||
gameEventHandler = new GameEventHandler(this);
|
||||
connect(this, &TabGame::gameLeft, gameEventHandler, &GameEventHandler::handleGameLeft);
|
||||
connect(gameEventHandler, &GameEventHandler::localPlayerDeckSelected, this, &TabGame::processLocalPlayerDeckSelect);
|
||||
connect(gameEventHandler, &GameEventHandler::gameStopped, this, &TabGame::stopGame);
|
||||
connect(gameEventHandler, &GameEventHandler::gameClosed, this, &TabGame::closeGame);
|
||||
connectToGameEventHandler();
|
||||
|
||||
createCardInfoDock();
|
||||
createPlayerListDock();
|
||||
|
|
@ -152,6 +146,18 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor,
|
|||
QTimer::singleShot(0, this, &TabGame::loadLayout);
|
||||
}
|
||||
|
||||
void TabGame::connectToGameEventHandler()
|
||||
{
|
||||
connect(this, &TabGame::gameLeft, gameEventHandler, &GameEventHandler::handleGameLeft);
|
||||
connect(gameEventHandler, &GameEventHandler::gameStopped, this, &TabGame::stopGame);
|
||||
connect(gameEventHandler, &GameEventHandler::gameClosed, this, &TabGame::closeGame);
|
||||
connect(gameEventHandler, &GameEventHandler::localPlayerReadyStateChanged, this,
|
||||
&TabGame::processLocalPlayerReadyStateChanged);
|
||||
connect(gameEventHandler, &GameEventHandler::localPlayerSideboardLocked, this,
|
||||
&TabGame::processLocalPlayerSideboardLocked);
|
||||
connect(gameEventHandler, &GameEventHandler::localPlayerDeckSelected, this, &TabGame::processLocalPlayerDeckSelect);
|
||||
}
|
||||
|
||||
void TabGame::connectMessageLogToGameEventHandler()
|
||||
{
|
||||
// connect(gameEventHandler, &GameEventHandler:: , messageLog, &MessageLogWidget::);
|
||||
|
|
@ -192,9 +198,9 @@ void TabGame::connectMessageLogToGameEventHandler()
|
|||
|
||||
void TabGame::connectPlayerListToGameEventHandler()
|
||||
{
|
||||
connect(gameState, &GameState::playerAdded, playerListWidget, &PlayerListWidget::addPlayer);
|
||||
connect(gameEventHandler, &GameEventHandler::playerJoined, playerListWidget, &PlayerListWidget::addPlayer);
|
||||
connect(gameEventHandler, &GameEventHandler::playerLeft, playerListWidget, &PlayerListWidget::removePlayer);
|
||||
connect(gameEventHandler, &GameEventHandler::spectatorJoined, playerListWidget, &PlayerListWidget::addSpectator);
|
||||
connect(gameEventHandler, &GameEventHandler::spectatorJoined, playerListWidget, &PlayerListWidget::addPlayer);
|
||||
connect(gameEventHandler, &GameEventHandler::spectatorLeft, playerListWidget, &PlayerListWidget::removePlayer);
|
||||
connect(gameEventHandler, &GameEventHandler::playerPropertiesChanged, playerListWidget,
|
||||
&PlayerListWidget::updatePlayerProperties);
|
||||
|
|
@ -535,11 +541,6 @@ void TabGame::removePlayerFromAutoCompleteList(QString playerName)
|
|||
}
|
||||
}
|
||||
|
||||
void TabGame::addSpectator(ServerInfo_PlayerProperties prop)
|
||||
{
|
||||
playerListWidget->addSpectator(prop);
|
||||
}
|
||||
|
||||
void TabGame::removeSpectator(int spectatorId, ServerInfo_User spectator)
|
||||
{
|
||||
Q_UNUSED(spectator);
|
||||
|
|
|
|||
|
|
@ -172,6 +172,7 @@ public:
|
|||
QList<AbstractClient *> &_clients,
|
||||
const Event_GameJoined &event,
|
||||
const QMap<int, QString> &_roomGameTypes);
|
||||
void connectToGameEventHandler();
|
||||
void connectMessageLogToGameEventHandler();
|
||||
void connectPlayerListToGameEventHandler();
|
||||
void loadReplay(GameReplay *replay);
|
||||
|
|
@ -214,7 +215,6 @@ public slots:
|
|||
void updateTimeElapsedLabel(QString newTime);
|
||||
void addPlayerToAutoCompleteList(QString playerName);
|
||||
void removePlayerFromAutoCompleteList(QString playerName);
|
||||
void addSpectator(ServerInfo_PlayerProperties prop);
|
||||
void removeSpectator(int spectatorId, ServerInfo_User spectator);
|
||||
void processLocalPlayerSideboardLocked(int playerId, bool sideboardLocked);
|
||||
void processLocalPlayerReadyStateChanged(int playerId, bool ready);
|
||||
|
|
|
|||
|
|
@ -264,6 +264,7 @@ void GameEventHandler::eventGameStateChanged(const Event_GameStateChanged &event
|
|||
Player *player = gameState->getPlayers().value(playerId, 0);
|
||||
if (!player) {
|
||||
player = gameState->addPlayer(playerId, prop.user_info(), game);
|
||||
emit playerJoined(prop);
|
||||
}
|
||||
player->processPlayerInfo(playerInfo);
|
||||
if (player->getLocal()) {
|
||||
|
|
|
|||
|
|
@ -97,24 +97,11 @@ void PlayerListWidget::retranslateUi()
|
|||
{
|
||||
}
|
||||
|
||||
void PlayerListWidget::addPlayer(const Player *player)
|
||||
void PlayerListWidget::addPlayer(const ServerInfo_PlayerProperties &player)
|
||||
{
|
||||
|
||||
QTreeWidgetItem *newPlayer = new PlayerListTWI;
|
||||
players.insert(player->getId(), newPlayer);
|
||||
// updatePlayerProperties(player->getUserInfo());
|
||||
addTopLevelItem(newPlayer);
|
||||
sortItems(1, Qt::AscendingOrder);
|
||||
resizeColumnToContents(4);
|
||||
resizeColumnToContents(5);
|
||||
}
|
||||
|
||||
void PlayerListWidget::addSpectator(const ServerInfo_PlayerProperties &spectator)
|
||||
{
|
||||
|
||||
QTreeWidgetItem *newPlayer = new PlayerListTWI;
|
||||
players.insert(spectator.player_id(), newPlayer);
|
||||
updatePlayerProperties(spectator);
|
||||
players.insert(player.player_id(), newPlayer);
|
||||
updatePlayerProperties(player);
|
||||
addTopLevelItem(newPlayer);
|
||||
sortItems(1, Qt::AscendingOrder);
|
||||
resizeColumnToContents(4);
|
||||
|
|
|
|||
|
|
@ -54,8 +54,7 @@ public:
|
|||
void showContextMenu(const QPoint &pos, const QModelIndex &index);
|
||||
|
||||
public slots:
|
||||
void addPlayer(const Player *player);
|
||||
void addSpectator(const ServerInfo_PlayerProperties &spectator);
|
||||
void addPlayer(const ServerInfo_PlayerProperties &player);
|
||||
void removePlayer(int playerId);
|
||||
void updatePlayerProperties(const ServerInfo_PlayerProperties &prop, int playerId = -1);
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue