mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-27 07:48:01 -07:00
more code for local playing
This commit is contained in:
parent
f6a340ddf3
commit
5ff099f4bc
15 changed files with 267 additions and 137 deletions
|
|
@ -68,6 +68,14 @@ void TabSupervisor::start(AbstractClient *_client)
|
|||
retranslateUi();
|
||||
}
|
||||
|
||||
void TabSupervisor::startLocal(const QList<AbstractClient *> &_clients)
|
||||
{
|
||||
localClients = _clients;
|
||||
for (int i = 0; i < localClients.size(); ++i)
|
||||
connect(localClients[i], SIGNAL(gameEventContainerReceived(GameEventContainer *)), this, SLOT(processGameEventContainer(GameEventContainer *)));
|
||||
connect(localClients.first(), SIGNAL(gameJoinedEventReceived(Event_GameJoined *)), this, SLOT(localGameJoined(Event_GameJoined *)));
|
||||
}
|
||||
|
||||
void TabSupervisor::stop()
|
||||
{
|
||||
if (!client)
|
||||
|
|
@ -104,13 +112,28 @@ void TabSupervisor::updatePingTime(int value, int max)
|
|||
|
||||
void TabSupervisor::gameJoined(Event_GameJoined *event)
|
||||
{
|
||||
TabGame *tab = new TabGame(client, event->getGameId(), event->getGameDescription(), event->getPlayerId(), event->getSpectator(), event->getSpectatorsCanTalk(), event->getSpectatorsSeeEverything(), event->getResuming());
|
||||
TabGame *tab = new TabGame(QList<AbstractClient *>() << client, event->getGameId(), event->getGameDescription(), event->getPlayerId(), event->getSpectator(), event->getSpectatorsCanTalk(), event->getSpectatorsSeeEverything(), event->getResuming());
|
||||
connect(tab, SIGNAL(gameClosing(TabGame *)), this, SLOT(gameLeft(TabGame *)));
|
||||
myAddTab(tab);
|
||||
gameTabs.insert(event->getGameId(), tab);
|
||||
setCurrentWidget(tab);
|
||||
}
|
||||
|
||||
void TabSupervisor::localGameJoined(Event_GameJoined *event)
|
||||
{
|
||||
TabGame *tab = new TabGame(localClients, event->getGameId(), event->getGameDescription(), event->getPlayerId(), event->getSpectator(), event->getSpectatorsCanTalk(), event->getSpectatorsSeeEverything(), event->getResuming());
|
||||
connect(tab, SIGNAL(gameClosing(TabGame *)), this, SLOT(gameLeft(TabGame *)));
|
||||
myAddTab(tab);
|
||||
gameTabs.insert(event->getGameId(), tab);
|
||||
setCurrentWidget(tab);
|
||||
|
||||
for (int i = 1; i < localClients.size(); ++i) {
|
||||
qDebug("JOINING");
|
||||
Command_JoinGame *cmd = new Command_JoinGame(event->getGameId());
|
||||
localClients[i]->sendCommand(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
void TabSupervisor::gameLeft(TabGame *tab)
|
||||
{
|
||||
emit setMenu(0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue