31#include <libcockatrice/protocol/pb/event_leave.pb.h>
32#include <libcockatrice/protocol/pb/response.pb.h>
33#include <libcockatrice/protocol/pb/serverinfo_game.pb.h>
36class GameEventContainer;
44class Event_GameStateChanged;
96 const QString &_description,
97 const QString &_password,
99 const QList<int> &_gameTypes,
101 bool _onlyRegistered,
102 bool _spectatorsAllowed,
103 bool _spectatorsNeedPassword,
104 bool _spectatorsCanTalk,
105 bool _spectatorsSeeEverything,
106 int _startingLifeTotal,
107 bool _shareDecklistsOnLoad,
114 void getInfo(ServerInfo_Game &result)
const;
129 QMap<int, Server_AbstractPlayer *>
getPlayers()
const;
175 Response::ResponseCode
176 checkJoin(ServerInfo_User *user,
const QString &_password,
bool spectator,
bool overrideRestrictions,
bool asJudge);
182 bool broadcastUpdate =
true);
213 prepareGameEvent(const ::google::protobuf::Message &gameEvent,
int playerId, GameEventContext *context = 0);
220 int privatePlayerId = -1);
@ SendToPrivate
Definition server_response_containers.h:22
@ SendToOthers
Definition server_response_containers.h:23
Definition server_response_containers.h:46
Definition server_response_containers.h:89
Definition server_abstract_participant.h:57
Definition server_abstract_player.h:19
Definition server_abstractuserinterface.h:20
int getActivePlayer() const
Definition server_game.h:189
QList< int > gameTypes
Definition server_game.h:62
void sendGameStateToPlayers()
Definition server_game.cpp:277
void stopGameIfFinished()
Definition server_game.cpp:389
int startTimeOfThisGame
Definition server_game.h:72
bool gameClosed
Definition server_game.h:57
void removeArrows(int newPhase, bool force=false)
Definition server_game.cpp:674
void gameInfoChanged(ServerInfo_Game gameInfo)
bool getSpectatorsNeedPassword() const
Definition server_game.h:155
QTimer * pingClock
Definition server_game.h:76
void storeGameInformation()
Definition server_game.cpp:133
ServerInfo_User * creatorInfo
Definition server_game.h:53
bool firstGameStarted
Definition server_game.h:73
int maxPlayers
Definition server_game.h:61
bool gameStarted
Definition server_game.h:56
bool onlyRegistered
Definition server_game.h:64
void startGameIfReady(bool forceStartGame)
Definition server_game.cpp:384
void sendGameEventContainer(GameEventContainer *cont, GameEventStorageItem::EventRecipients recipients=GameEventStorageItem::SendToPrivate|GameEventStorageItem::SendToOthers, int privatePlayerId=-1)
Definition server_game.cpp:758
GameEventContainer * prepareGameEvent(const ::google::protobuf::Message &gameEvent, int playerId, GameEventContext *context=0)
Definition server_game.cpp:782
int getSpectatorCount() const
Definition server_game.cpp:247
bool containsUser(const QString &userName) const
Definition server_game.cpp:458
bool getSpectatorsSeeEverything() const
Definition server_game.h:163
void setActivePhase(int newPhase)
Definition server_game.cpp:662
QMap< int, Server_AbstractParticipant * > participants
Definition server_game.h:54
void nextTurn()
Definition server_game.cpp:691
QDateTime startTime
Definition server_game.h:75
QList< GameReplay * > replayList
Definition server_game.h:77
bool turnOrderReversed
Definition server_game.h:74
bool getShareDecklistsOnLoad() const
Definition server_game.h:171
const QMap< int, Server_AbstractParticipant * > & getParticipants() const
Definition server_game.h:131
QMap< int, Server_AbstractPlayer * > getPlayers() const
Definition server_game.cpp:219
bool spectatorsSeeEverything
Definition server_game.h:68
int startingLifeTotal
Definition server_game.h:69
Response::ResponseCode checkJoin(ServerInfo_User *user, const QString &_password, bool spectator, bool overrideRestrictions, bool asJudge)
Definition server_game.cpp:420
void getInfo(ServerInfo_Game &result) const
Definition server_game.cpp:797
void removeArrowsRelatedToPlayer(GameEventStorage &ges, Server_AbstractPlayer *player)
Definition server_game.cpp:576
~Server_Game() override
Definition server_game.cpp:93
bool onlyBuddies
Definition server_game.h:64
Server_Room * room
Definition server_game.h:50
bool getSpectatorsCanTalk() const
Definition server_game.h:159
Server_Game(const ServerInfo_User &_creatorInfo, int _gameId, const QString &_description, const QString &_password, int _maxPlayers, const QList< int > &_gameTypes, bool _onlyBuddies, bool _onlyRegistered, bool _spectatorsAllowed, bool _spectatorsNeedPassword, bool _spectatorsCanTalk, bool _spectatorsSeeEverything, int _startingLifeTotal, bool _shareDecklistsOnLoad, Server_Room *parent)
Definition server_game.cpp:53
QString description
Definition server_game.h:59
int secondsElapsed
Definition server_game.h:72
QSet< QString > allSpectatorsEver
Definition server_game.h:55
bool shareDecklistsOnLoad
Definition server_game.h:70
bool kickParticipant(int playerId)
Definition server_game.cpp:630
bool getSpectatorsAllowed() const
Definition server_game.h:151
bool spectatorsAllowed
Definition server_game.h:65
void removeParticipant(Server_AbstractParticipant *participant, Event_Leave::LeaveReason reason)
Definition server_game.cpp:524
bool spectatorsNeedPassword
Definition server_game.h:66
QRecursiveMutex gameMutex
Definition server_game.h:93
void sigStartGameIfReady(bool override)
Server_AbstractPlayer * getPlayer(int id) const
Definition server_game.cpp:232
QString password
Definition server_game.h:60
int getSecondsElapsed() const
Definition server_game.h:201
ServerInfo_User * getCreatorInfo() const
Definition server_game.h:119
int activePhase
Definition server_game.h:63
Server_Room * getRoom() const
Definition server_game.h:110
int getPlayerCount() const
Definition server_game.cpp:242
int getStartingLifeTotal() const
Definition server_game.h:167
void setActivePlayer(int newPlayer)
Definition server_game.cpp:647
void doStartGameIfReady(bool forceStartGame=false)
Definition server_game.cpp:315
int getActivePhase() const
Definition server_game.h:193
bool spectatorsCanTalk
Definition server_game.h:67
GameEventContext prepareGameEventContext(const ::google::protobuf::Message &gameEventContext)
bool getGameStarted() const
Definition server_game.h:123
int nextPlayerId
Definition server_game.h:51
void createGameJoinedEvent(Server_AbstractParticipant *participant, ResponseContainer &rc, bool resuming)
Definition server_game.cpp:723
int hostId
Definition server_game.h:52
QString getDescription() const
Definition server_game.h:139
int gameId
Definition server_game.h:58
void addPlayer(Server_AbstractUserInterface *userInterface, ResponseContainer &rc, bool spectator, bool judge, bool broadcastUpdate=true)
Definition server_game.cpp:469
QSet< QString > allPlayersEver
Definition server_game.h:55
int getGameId() const
Definition server_game.h:135
void pingClockTimeout()
Definition server_game.cpp:178
int activePlayer
Definition server_game.h:63
void createGameStateChangedEvent(Event_GameStateChanged *event, Server_AbstractParticipant *recipient, bool omniscient, bool withUserInfo)
Definition server_game.cpp:259
bool reverseTurnOrder()
Definition server_game.h:205
GameReplay * currentReplay
Definition server_game.h:78
int inactivityCounter
Definition server_game.h:71
int getMaxPlayers() const
Definition server_game.h:147
int getHostId() const
Definition server_game.h:115
void unattachCards(GameEventStorage &ges, Server_AbstractPlayer *player)
Definition server_game.cpp:608
QString getPassword() const
Definition server_game.h:143
Definition server_room.h:27