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,
|
gameState = new GameState(0, -1, -1, _tabSupervisor->getIsLocalGame(), QList<AbstractClient *>(), true, false,
|
||||||
false, false, -1, false);
|
false, false, -1, false);
|
||||||
connect(gameState, &GameState::playerAdded, this, &TabGame::addPlayer);
|
connect(gameState, &GameState::playerAdded, this, &TabGame::addPlayer);
|
||||||
connect(gameState, &GameState::spectatorAdded, this, &TabGame::addSpectator);
|
|
||||||
connect(gameState, &GameState::gameStarted, this, &TabGame::startGame);
|
connect(gameState, &GameState::gameStarted, this, &TabGame::startGame);
|
||||||
|
|
||||||
gameEventHandler = new GameEventHandler(this);
|
gameEventHandler = new GameEventHandler(this);
|
||||||
connect(this, &TabGame::gameLeft, gameEventHandler, &GameEventHandler::handleGameLeft);
|
connectToGameEventHandler();
|
||||||
connect(gameEventHandler, &GameEventHandler::localPlayerDeckSelected, this, &TabGame::processLocalPlayerDeckSelect);
|
|
||||||
connect(gameEventHandler, &GameEventHandler::gameStopped, this, &TabGame::stopGame);
|
|
||||||
connect(gameEventHandler, &GameEventHandler::gameClosed, this, &TabGame::closeGame);
|
|
||||||
|
|
||||||
createCardInfoDock(true);
|
createCardInfoDock(true);
|
||||||
createPlayerListDock(true);
|
createPlayerListDock(true);
|
||||||
|
connectPlayerListToGameEventHandler();
|
||||||
createMessageDock(true);
|
createMessageDock(true);
|
||||||
|
connectMessageLogToGameEventHandler();
|
||||||
createPlayAreaWidget(true);
|
createPlayAreaWidget(true);
|
||||||
createDeckViewContainerWidget(true);
|
createDeckViewContainerWidget(true);
|
||||||
createReplayDock(_replay);
|
createReplayDock(_replay);
|
||||||
|
|
@ -107,16 +105,12 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor,
|
||||||
// THIS CTOR IS USED ON GAMES
|
// THIS CTOR IS USED ON GAMES
|
||||||
gameMetaInfo->setStarted(false);
|
gameMetaInfo->setStarted(false);
|
||||||
connect(gameState, &GameState::playerAdded, this, &TabGame::addPlayer);
|
connect(gameState, &GameState::playerAdded, this, &TabGame::addPlayer);
|
||||||
connect(gameState, &GameState::spectatorAdded, this, &TabGame::addSpectator);
|
|
||||||
|
|
||||||
connect(gameMetaInfo, &GameMetaInfo::startedChanged, gameState, &GameState::onStartedChanged);
|
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);
|
||||||
connect(this, &TabGame::gameLeft, gameEventHandler, &GameEventHandler::handleGameLeft);
|
connectToGameEventHandler();
|
||||||
connect(gameEventHandler, &GameEventHandler::localPlayerDeckSelected, this, &TabGame::processLocalPlayerDeckSelect);
|
|
||||||
connect(gameEventHandler, &GameEventHandler::gameStopped, this, &TabGame::stopGame);
|
|
||||||
connect(gameEventHandler, &GameEventHandler::gameClosed, this, &TabGame::closeGame);
|
|
||||||
|
|
||||||
createCardInfoDock();
|
createCardInfoDock();
|
||||||
createPlayerListDock();
|
createPlayerListDock();
|
||||||
|
|
@ -152,6 +146,18 @@ TabGame::TabGame(TabSupervisor *_tabSupervisor,
|
||||||
QTimer::singleShot(0, this, &TabGame::loadLayout);
|
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()
|
void TabGame::connectMessageLogToGameEventHandler()
|
||||||
{
|
{
|
||||||
// connect(gameEventHandler, &GameEventHandler:: , messageLog, &MessageLogWidget::);
|
// connect(gameEventHandler, &GameEventHandler:: , messageLog, &MessageLogWidget::);
|
||||||
|
|
@ -192,9 +198,9 @@ void TabGame::connectMessageLogToGameEventHandler()
|
||||||
|
|
||||||
void TabGame::connectPlayerListToGameEventHandler()
|
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::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::spectatorLeft, playerListWidget, &PlayerListWidget::removePlayer);
|
||||||
connect(gameEventHandler, &GameEventHandler::playerPropertiesChanged, playerListWidget,
|
connect(gameEventHandler, &GameEventHandler::playerPropertiesChanged, playerListWidget,
|
||||||
&PlayerListWidget::updatePlayerProperties);
|
&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)
|
void TabGame::removeSpectator(int spectatorId, ServerInfo_User spectator)
|
||||||
{
|
{
|
||||||
Q_UNUSED(spectator);
|
Q_UNUSED(spectator);
|
||||||
|
|
|
||||||
|
|
@ -172,6 +172,7 @@ public:
|
||||||
QList<AbstractClient *> &_clients,
|
QList<AbstractClient *> &_clients,
|
||||||
const Event_GameJoined &event,
|
const Event_GameJoined &event,
|
||||||
const QMap<int, QString> &_roomGameTypes);
|
const QMap<int, QString> &_roomGameTypes);
|
||||||
|
void connectToGameEventHandler();
|
||||||
void connectMessageLogToGameEventHandler();
|
void connectMessageLogToGameEventHandler();
|
||||||
void connectPlayerListToGameEventHandler();
|
void connectPlayerListToGameEventHandler();
|
||||||
void loadReplay(GameReplay *replay);
|
void loadReplay(GameReplay *replay);
|
||||||
|
|
@ -214,7 +215,6 @@ public slots:
|
||||||
void updateTimeElapsedLabel(QString newTime);
|
void updateTimeElapsedLabel(QString newTime);
|
||||||
void addPlayerToAutoCompleteList(QString playerName);
|
void addPlayerToAutoCompleteList(QString playerName);
|
||||||
void removePlayerFromAutoCompleteList(QString playerName);
|
void removePlayerFromAutoCompleteList(QString playerName);
|
||||||
void addSpectator(ServerInfo_PlayerProperties prop);
|
|
||||||
void removeSpectator(int spectatorId, ServerInfo_User spectator);
|
void removeSpectator(int spectatorId, ServerInfo_User spectator);
|
||||||
void processLocalPlayerSideboardLocked(int playerId, bool sideboardLocked);
|
void processLocalPlayerSideboardLocked(int playerId, bool sideboardLocked);
|
||||||
void processLocalPlayerReadyStateChanged(int playerId, bool ready);
|
void processLocalPlayerReadyStateChanged(int playerId, bool ready);
|
||||||
|
|
|
||||||
|
|
@ -264,6 +264,7 @@ void GameEventHandler::eventGameStateChanged(const Event_GameStateChanged &event
|
||||||
Player *player = gameState->getPlayers().value(playerId, 0);
|
Player *player = gameState->getPlayers().value(playerId, 0);
|
||||||
if (!player) {
|
if (!player) {
|
||||||
player = gameState->addPlayer(playerId, prop.user_info(), game);
|
player = gameState->addPlayer(playerId, prop.user_info(), game);
|
||||||
|
emit playerJoined(prop);
|
||||||
}
|
}
|
||||||
player->processPlayerInfo(playerInfo);
|
player->processPlayerInfo(playerInfo);
|
||||||
if (player->getLocal()) {
|
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;
|
QTreeWidgetItem *newPlayer = new PlayerListTWI;
|
||||||
players.insert(player->getId(), newPlayer);
|
players.insert(player.player_id(), newPlayer);
|
||||||
// updatePlayerProperties(player->getUserInfo());
|
updatePlayerProperties(player);
|
||||||
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);
|
|
||||||
addTopLevelItem(newPlayer);
|
addTopLevelItem(newPlayer);
|
||||||
sortItems(1, Qt::AscendingOrder);
|
sortItems(1, Qt::AscendingOrder);
|
||||||
resizeColumnToContents(4);
|
resizeColumnToContents(4);
|
||||||
|
|
|
||||||
|
|
@ -54,8 +54,7 @@ public:
|
||||||
void showContextMenu(const QPoint &pos, const QModelIndex &index);
|
void showContextMenu(const QPoint &pos, const QModelIndex &index);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void addPlayer(const Player *player);
|
void addPlayer(const ServerInfo_PlayerProperties &player);
|
||||||
void addSpectator(const ServerInfo_PlayerProperties &spectator);
|
|
||||||
void removePlayer(int playerId);
|
void removePlayer(int playerId);
|
||||||
void updatePlayerProperties(const ServerInfo_PlayerProperties &prop, int playerId = -1);
|
void updatePlayerProperties(const ServerInfo_PlayerProperties &prop, int playerId = -1);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue