Took 39 minutes

Took 4 seconds

Took 43 minutes
This commit is contained in:
Lukas Brübach 2025-07-10 02:08:56 +02:00
parent ef93d8a253
commit 98da0a066f
4 changed files with 42 additions and 13 deletions

View file

@ -21,6 +21,7 @@
#include "decklist.h"
#include "pb/context_connection_state_changed.pb.h"
#include "pb/context_deck_select.pb.h"
#include "pb/context_ping_changed.pb.h"
#include "pb/event_delete_arrow.pb.h"
#include "pb/event_game_closed.pb.h"
@ -512,6 +513,21 @@ void Server_Game::addPlayer(Server_AbstractUserInterface *userInterface,
userInterface->playerAddedToGame(gameId, room->getId(), newPlayer->getPlayerId());
createGameJoinedEvent(newPlayer, rc, false);
Event_PlayerPropertiesChanged event;
GameEventStorage ges;
if (getShareDecklistsOnLoad()) {
for (const auto &player : players) {
Context_DeckSelect context;
if (player->getDeckList() != nullptr) {
context.set_deck_list(player->getDeckList()->writeToString_Native().toStdString());
ges.setGameEventContext(context);
ges.enqueueGameEvent(event, player->getPlayerId());
ges.sendToGame(this);
}
}
}
}
void Server_Game::removePlayer(Server_Player *player, Event_Leave::LeaveReason reason)

View file

@ -96,6 +96,10 @@ public:
Server_AbstractUserInterface *_handler);
~Server_Player() override;
void prepareDestroy();
const DeckList *getDeckList() const
{
return deck;
}
Server_AbstractUserInterface *getUserInterface() const
{
return userInterface;