single player fix
This commit is contained in:
parent
135fed79ca
commit
a5f678bc3d
7 changed files with 14 additions and 8 deletions
|
@ -494,7 +494,7 @@ void TabGame::eventGameStateChanged(Event_GameStateChanged *event, GameEventCont
|
|||
playerListWidget->addPlayer(prop);
|
||||
}
|
||||
player->processPlayerInfo(pl);
|
||||
if (player->getLocal() && pl->getDeck()) {
|
||||
if (player->getLocal() && !pl->getDeck()->isEmpty()) {
|
||||
Deck_PictureCacher::cachePictures(pl->getDeck(), this);
|
||||
deckViewContainers.value(player->getId())->setDeck(new DeckList(pl->getDeck()));
|
||||
}
|
||||
|
|
|
@ -470,6 +470,11 @@ void DeckList::cleanList()
|
|||
setComments();
|
||||
}
|
||||
|
||||
bool DeckList::isEmpty() const
|
||||
{
|
||||
return root->isEmpty();
|
||||
}
|
||||
|
||||
DecklistCardNode *DeckList::addCard(const QString &cardName, const QString &zoneName)
|
||||
{
|
||||
InnerDecklistNode *zoneNode = dynamic_cast<InnerDecklistNode *>(root->findChild(zoneName));
|
||||
|
|
|
@ -147,6 +147,7 @@ public:
|
|||
static FileFormat getFormatFromNameFilter(const QString &selectedNameFilter);
|
||||
|
||||
void cleanList();
|
||||
bool isEmpty() const;
|
||||
|
||||
InnerDecklistNode *getRoot() const { return root; }
|
||||
DecklistCardNode *addCard(const QString &cardName, const QString &zoneName);
|
||||
|
|
|
@ -358,8 +358,8 @@ Event_GameStateChanged::Event_GameStateChanged(bool _gameStarted, int _activePla
|
|||
itemList.append(_playerList[i]);
|
||||
}
|
||||
|
||||
Event_PlayerPropertiesChanged::Event_PlayerPropertiesChanged(ServerInfo_PlayerProperties *_properties)
|
||||
: GameEvent("player_properties_changed", -1)
|
||||
Event_PlayerPropertiesChanged::Event_PlayerPropertiesChanged(int _playerId, ServerInfo_PlayerProperties *_properties)
|
||||
: GameEvent("player_properties_changed", _playerId)
|
||||
{
|
||||
if (!_properties)
|
||||
_properties = new ServerInfo_PlayerProperties;
|
||||
|
|
|
@ -337,7 +337,7 @@ public:
|
|||
class Event_PlayerPropertiesChanged : public GameEvent {
|
||||
Q_OBJECT
|
||||
public:
|
||||
Event_PlayerPropertiesChanged(ServerInfo_PlayerProperties *_properties = 0);
|
||||
Event_PlayerPropertiesChanged(int _playerId = -1, ServerInfo_PlayerProperties *_properties = 0);
|
||||
static SerializableItem *newItem() { return new Event_PlayerPropertiesChanged; }
|
||||
int getItemId() const { return ItemId_Event_PlayerPropertiesChanged; }
|
||||
ServerInfo_PlayerProperties *getProperties() const { return static_cast<ServerInfo_PlayerProperties *>(itemMap.value("player_properties")); }
|
||||
|
|
|
@ -234,7 +234,7 @@ void Server_Game::removePlayer(Server_Player *player)
|
|||
void Server_Game::setActivePlayer(int _activePlayer)
|
||||
{
|
||||
activePlayer = _activePlayer;
|
||||
sendGameEvent(new Event_SetActivePlayer(-1, activePlayer));
|
||||
sendGameEvent(new Event_SetActivePlayer(activePlayer, activePlayer));
|
||||
setActivePhase(0);
|
||||
}
|
||||
|
||||
|
|
|
@ -365,7 +365,7 @@ ResponseCode Server_ProtocolHandler::cmdDeckSelect(Command_DeckSelect *cmd, Comm
|
|||
}
|
||||
player->setDeck(deck, cmd->getDeckId());
|
||||
|
||||
game->sendGameEvent(new Event_PlayerPropertiesChanged(player->getProperties()), new Context_DeckSelect(cmd->getDeckId()));
|
||||
game->sendGameEvent(new Event_PlayerPropertiesChanged(player->getPlayerId(), player->getProperties()), new Context_DeckSelect(cmd->getDeckId()));
|
||||
|
||||
cont->setResponse(new Response_DeckDownload(cont->getCmdId(), RespOk, new DeckList(deck)));
|
||||
return RespNothing;
|
||||
|
@ -392,7 +392,7 @@ ResponseCode Server_ProtocolHandler::cmdConcede(Command_Concede * /*cmd*/, Comma
|
|||
return RespFunctionNotAllowed;
|
||||
|
||||
player->setConceded(true);
|
||||
game->sendGameEvent(new Event_PlayerPropertiesChanged(player->getProperties()), new Context_Concede);
|
||||
game->sendGameEvent(new Event_PlayerPropertiesChanged(player->getPlayerId(), player->getProperties()), new Context_Concede);
|
||||
game->stopGameIfFinished();
|
||||
return RespOk;
|
||||
}
|
||||
|
@ -409,7 +409,7 @@ ResponseCode Server_ProtocolHandler::cmdReadyStart(Command_ReadyStart *cmd, Comm
|
|||
return RespContextError;
|
||||
|
||||
player->setReadyStart(cmd->getReady());
|
||||
game->sendGameEvent(new Event_PlayerPropertiesChanged(player->getProperties()), new Context_ReadyStart);
|
||||
game->sendGameEvent(new Event_PlayerPropertiesChanged(player->getPlayerId(), player->getProperties()), new Context_ReadyStart);
|
||||
game->startGameIfReady();
|
||||
return RespOk;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue