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