mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-01 11:03:54 -07:00
* fix #6115 * rename all instances of player when relevant
This commit is contained in:
parent
5efc573783
commit
216cd491cc
1 changed files with 61 additions and 60 deletions
|
|
@ -101,8 +101,8 @@ Server_Game::~Server_Game()
|
||||||
|
|
||||||
gameClosed = true;
|
gameClosed = true;
|
||||||
sendGameEventContainer(prepareGameEvent(Event_GameClosed(), -1));
|
sendGameEventContainer(prepareGameEvent(Event_GameClosed(), -1));
|
||||||
for (auto *player : players.values()) {
|
for (auto *anyPlayer : players.values()) {
|
||||||
player->prepareDestroy();
|
anyPlayer->prepareDestroy();
|
||||||
}
|
}
|
||||||
players.clear();
|
players.clear();
|
||||||
|
|
||||||
|
|
@ -189,36 +189,36 @@ void Server_Game::pingClockTimeout()
|
||||||
|
|
||||||
bool allPlayersInactive = true;
|
bool allPlayersInactive = true;
|
||||||
int playerCount = 0;
|
int playerCount = 0;
|
||||||
for (auto *player : players) {
|
for (auto *anyPlayer : players) {
|
||||||
if (player == nullptr)
|
if (anyPlayer == nullptr)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!player->getSpectator()) {
|
if (!anyPlayer->getSpectator()) {
|
||||||
++playerCount;
|
++playerCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
int oldPingTime = player->getPingTime();
|
int oldPingTime = anyPlayer->getPingTime();
|
||||||
int newPingTime;
|
int newPingTime;
|
||||||
{
|
{
|
||||||
QMutexLocker playerMutexLocker(&player->playerMutex);
|
QMutexLocker playerMutexLocker(&anyPlayer->playerMutex);
|
||||||
if (player->getUserInterface()) {
|
if (anyPlayer->getUserInterface()) {
|
||||||
newPingTime = player->getUserInterface()->getLastCommandTime();
|
newPingTime = anyPlayer->getUserInterface()->getLastCommandTime();
|
||||||
} else {
|
} else {
|
||||||
newPingTime = -1;
|
newPingTime = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((newPingTime != -1) && (!player->getSpectator() || player->getPlayerId() == hostId)) {
|
if ((newPingTime != -1) && (!anyPlayer->getSpectator() || anyPlayer->getPlayerId() == hostId)) {
|
||||||
allPlayersInactive = false;
|
allPlayersInactive = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((abs(oldPingTime - newPingTime) > 1) || ((newPingTime == -1) && (oldPingTime != -1)) ||
|
if ((abs(oldPingTime - newPingTime) > 1) || ((newPingTime == -1) && (oldPingTime != -1)) ||
|
||||||
((newPingTime != -1) && (oldPingTime == -1))) {
|
((newPingTime != -1) && (oldPingTime == -1))) {
|
||||||
player->setPingTime(newPingTime);
|
anyPlayer->setPingTime(newPingTime);
|
||||||
|
|
||||||
Event_PlayerPropertiesChanged event;
|
Event_PlayerPropertiesChanged event;
|
||||||
event.mutable_player_properties()->set_ping_seconds(newPingTime);
|
event.mutable_player_properties()->set_ping_seconds(newPingTime);
|
||||||
ges.enqueueGameEvent(event, player->getPlayerId());
|
ges.enqueueGameEvent(event, anyPlayer->getPlayerId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ges.sendToGame(this);
|
ges.sendToGame(this);
|
||||||
|
|
@ -238,8 +238,8 @@ int Server_Game::getPlayerCount() const
|
||||||
QMutexLocker locker(&gameMutex);
|
QMutexLocker locker(&gameMutex);
|
||||||
|
|
||||||
int result = 0;
|
int result = 0;
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
if (!player->getSpectator())
|
if (!anyPlayer->getSpectator())
|
||||||
++result;
|
++result;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
@ -250,8 +250,8 @@ int Server_Game::getSpectatorCount() const
|
||||||
QMutexLocker locker(&gameMutex);
|
QMutexLocker locker(&gameMutex);
|
||||||
|
|
||||||
int result = 0;
|
int result = 0;
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
if (player->getSpectator())
|
if (anyPlayer->getSpectator())
|
||||||
++result;
|
++result;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
@ -270,8 +270,8 @@ void Server_Game::createGameStateChangedEvent(Event_GameStateChanged *event,
|
||||||
} else
|
} else
|
||||||
event->set_game_started(false);
|
event->set_game_started(false);
|
||||||
|
|
||||||
for (Server_Player *otherPlayer : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
otherPlayer->getInfo(event->add_player_list(), playerWhosAsking, omniscient, withUserInfo);
|
anyPlayer->getInfo(event->add_player_list(), playerWhosAsking, omniscient, withUserInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -294,21 +294,21 @@ void Server_Game::sendGameStateToPlayers()
|
||||||
createGameStateChangedEvent(&spectatorNormalEvent, nullptr, false, false);
|
createGameStateChangedEvent(&spectatorNormalEvent, nullptr, false, false);
|
||||||
|
|
||||||
// send game state info to clients according to their role in the game
|
// send game state info to clients according to their role in the game
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
GameEventContainer *gec;
|
GameEventContainer *gec;
|
||||||
if (player->getSpectator()) {
|
if (anyPlayer->getSpectator()) {
|
||||||
if (spectatorsSeeEverything || player->getJudge()) {
|
if (spectatorsSeeEverything || anyPlayer->getJudge()) {
|
||||||
gec = prepareGameEvent(omniscientEvent, -1);
|
gec = prepareGameEvent(omniscientEvent, -1);
|
||||||
} else {
|
} else {
|
||||||
gec = prepareGameEvent(spectatorNormalEvent, -1);
|
gec = prepareGameEvent(spectatorNormalEvent, -1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Event_GameStateChanged event;
|
Event_GameStateChanged event;
|
||||||
createGameStateChangedEvent(&event, player, false, false);
|
createGameStateChangedEvent(&event, anyPlayer, false, false);
|
||||||
|
|
||||||
gec = prepareGameEvent(event, -1);
|
gec = prepareGameEvent(event, -1);
|
||||||
}
|
}
|
||||||
player->sendGameEvent(*gec);
|
anyPlayer->sendGameEvent(*gec);
|
||||||
delete gec;
|
delete gec;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -322,28 +322,28 @@ void Server_Game::doStartGameIfReady(bool forceStartGame)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
if (!player->getReadyStart() && !player->getSpectator()) {
|
if (!anyPlayer->getReadyStart() && !anyPlayer->getSpectator()) {
|
||||||
if (forceStartGame) {
|
if (forceStartGame) {
|
||||||
// Player is not ready to start, so kick them
|
// Player is not ready to start, so kick them
|
||||||
// TODO: Move them to Spectators instead
|
// TODO: Move them to Spectators instead
|
||||||
kickPlayer(player->getPlayerId());
|
kickPlayer(anyPlayer->getPlayerId());
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
if (!player->getSpectator()) {
|
if (!anyPlayer->getSpectator()) {
|
||||||
player->setupZones();
|
anyPlayer->setupZones();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gameStarted = true;
|
gameStarted = true;
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
player->setConceded(false);
|
anyPlayer->setConceded(false);
|
||||||
player->setReadyStart(false);
|
anyPlayer->setReadyStart(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (firstGameStarted) {
|
if (firstGameStarted) {
|
||||||
|
|
@ -392,8 +392,8 @@ void Server_Game::stopGameIfFinished()
|
||||||
QMutexLocker locker(&gameMutex);
|
QMutexLocker locker(&gameMutex);
|
||||||
|
|
||||||
int playing = 0;
|
int playing = 0;
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
if (!player->getConceded() && !player->getSpectator())
|
if (!anyPlayer->getConceded() && !anyPlayer->getSpectator())
|
||||||
++playing;
|
++playing;
|
||||||
}
|
}
|
||||||
if (playing > 1)
|
if (playing > 1)
|
||||||
|
|
@ -401,9 +401,9 @@ void Server_Game::stopGameIfFinished()
|
||||||
|
|
||||||
gameStarted = false;
|
gameStarted = false;
|
||||||
|
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
player->clearZones();
|
anyPlayer->clearZones();
|
||||||
player->setConceded(false);
|
anyPlayer->setConceded(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
sendGameStateToPlayers();
|
sendGameStateToPlayers();
|
||||||
|
|
@ -424,8 +424,8 @@ Response::ResponseCode Server_Game::checkJoin(ServerInfo_User *user,
|
||||||
bool asJudge)
|
bool asJudge)
|
||||||
{
|
{
|
||||||
Server_DatabaseInterface *databaseInterface = room->getServer()->getDatabaseInterface();
|
Server_DatabaseInterface *databaseInterface = room->getServer()->getDatabaseInterface();
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
if (player->getUserInfo()->name() == user->name())
|
if (anyPlayer->getUserInfo()->name() == user->name())
|
||||||
return Response::RespContextError;
|
return Response::RespContextError;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -459,8 +459,8 @@ bool Server_Game::containsUser(const QString &userName) const
|
||||||
{
|
{
|
||||||
QMutexLocker locker(&gameMutex);
|
QMutexLocker locker(&gameMutex);
|
||||||
|
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
if (player->getUserInfo()->name() == userName.toStdString())
|
if (anyPlayer->getUserInfo()->name() == userName.toStdString())
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -573,8 +573,8 @@ void Server_Game::removeArrowsRelatedToPlayer(GameEventStorage &ges, Server_Play
|
||||||
// Remove all arrows of other players pointing to the player being removed or to one of his cards.
|
// Remove all arrows of other players pointing to the player being removed or to one of his cards.
|
||||||
// Also remove all arrows starting at one of his cards. This is necessary since players can create
|
// Also remove all arrows starting at one of his cards. This is necessary since players can create
|
||||||
// arrows that start at another person's cards.
|
// arrows that start at another person's cards.
|
||||||
for (Server_Player *otherPlayer : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
QList<Server_Arrow *> arrows = otherPlayer->getArrows().values();
|
QList<Server_Arrow *> arrows = anyPlayer->getArrows().values();
|
||||||
QList<Server_Arrow *> toDelete;
|
QList<Server_Arrow *> toDelete;
|
||||||
for (int i = 0; i < arrows.size(); ++i) {
|
for (int i = 0; i < arrows.size(); ++i) {
|
||||||
Server_Arrow *a = arrows[i];
|
Server_Arrow *a = arrows[i];
|
||||||
|
|
@ -592,9 +592,9 @@ void Server_Game::removeArrowsRelatedToPlayer(GameEventStorage &ges, Server_Play
|
||||||
for (int i = 0; i < toDelete.size(); ++i) {
|
for (int i = 0; i < toDelete.size(); ++i) {
|
||||||
Event_DeleteArrow event;
|
Event_DeleteArrow event;
|
||||||
event.set_arrow_id(toDelete[i]->getId());
|
event.set_arrow_id(toDelete[i]->getId());
|
||||||
ges.enqueueGameEvent(event, otherPlayer->getPlayerId());
|
ges.enqueueGameEvent(event, anyPlayer->getPlayerId());
|
||||||
|
|
||||||
otherPlayer->deleteArrow(toDelete[i]->getId());
|
anyPlayer->deleteArrow(toDelete[i]->getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -655,16 +655,16 @@ void Server_Game::setActivePhase(int _activePhase)
|
||||||
{
|
{
|
||||||
QMutexLocker locker(&gameMutex);
|
QMutexLocker locker(&gameMutex);
|
||||||
|
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
QList<Server_Arrow *> toDelete = player->getArrows().values();
|
QList<Server_Arrow *> toDelete = anyPlayer->getArrows().values();
|
||||||
for (int i = 0; i < toDelete.size(); ++i) {
|
for (int i = 0; i < toDelete.size(); ++i) {
|
||||||
Server_Arrow *a = toDelete[i];
|
Server_Arrow *a = toDelete[i];
|
||||||
|
|
||||||
Event_DeleteArrow event;
|
Event_DeleteArrow event;
|
||||||
event.set_arrow_id(a->getId());
|
event.set_arrow_id(a->getId());
|
||||||
sendGameEventContainer(prepareGameEvent(event, player->getPlayerId()));
|
sendGameEventContainer(prepareGameEvent(event, anyPlayer->getPlayerId()));
|
||||||
|
|
||||||
player->deleteArrow(a->getId());
|
anyPlayer->deleteArrow(a->getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -705,14 +705,14 @@ void Server_Game::nextTurn()
|
||||||
setActivePlayer(keys[listPos]);
|
setActivePlayer(keys[listPos]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Server_Game::createGameJoinedEvent(Server_Player *player, ResponseContainer &rc, bool resuming)
|
void Server_Game::createGameJoinedEvent(Server_Player *joiningPlayer, ResponseContainer &rc, bool resuming)
|
||||||
{
|
{
|
||||||
Event_GameJoined event1;
|
Event_GameJoined event1;
|
||||||
getInfo(*event1.mutable_game_info());
|
getInfo(*event1.mutable_game_info());
|
||||||
event1.set_host_id(hostId);
|
event1.set_host_id(hostId);
|
||||||
event1.set_player_id(player->getPlayerId());
|
event1.set_player_id(joiningPlayer->getPlayerId());
|
||||||
event1.set_spectator(player->getSpectator());
|
event1.set_spectator(joiningPlayer->getSpectator());
|
||||||
event1.set_judge(player->getJudge());
|
event1.set_judge(joiningPlayer->getJudge());
|
||||||
event1.set_resuming(resuming);
|
event1.set_resuming(resuming);
|
||||||
if (resuming) {
|
if (resuming) {
|
||||||
const QStringList &allGameTypes = room->getGameTypes();
|
const QStringList &allGameTypes = room->getGameTypes();
|
||||||
|
|
@ -730,9 +730,10 @@ void Server_Game::createGameJoinedEvent(Server_Player *player, ResponseContainer
|
||||||
event2.set_active_player_id(activePlayer);
|
event2.set_active_player_id(activePlayer);
|
||||||
event2.set_active_phase(activePhase);
|
event2.set_active_phase(activePhase);
|
||||||
|
|
||||||
for (auto *_player : players.values()) {
|
for (auto *anyPlayer : players.values()) {
|
||||||
_player->getInfo(event2.add_player_list(), _player,
|
anyPlayer->getInfo(event2.add_player_list(), joiningPlayer,
|
||||||
(_player->getSpectator() && (spectatorsSeeEverything || _player->getJudge())), true);
|
(joiningPlayer->getSpectator() && (spectatorsSeeEverything || joiningPlayer->getJudge())),
|
||||||
|
true);
|
||||||
}
|
}
|
||||||
|
|
||||||
rc.enqueuePostResponseItem(ServerMessage::GAME_EVENT_CONTAINER, prepareGameEvent(event2, -1));
|
rc.enqueuePostResponseItem(ServerMessage::GAME_EVENT_CONTAINER, prepareGameEvent(event2, -1));
|
||||||
|
|
@ -745,12 +746,12 @@ void Server_Game::sendGameEventContainer(GameEventContainer *cont,
|
||||||
QMutexLocker locker(&gameMutex);
|
QMutexLocker locker(&gameMutex);
|
||||||
|
|
||||||
cont->set_game_id(gameId);
|
cont->set_game_id(gameId);
|
||||||
for (Server_Player *player : players.values()) {
|
for (Server_Player *anyPlayer : players.values()) {
|
||||||
const bool playerPrivate = (player->getPlayerId() == privatePlayerId) ||
|
const bool playerPrivate = (anyPlayer->getPlayerId() == privatePlayerId) ||
|
||||||
(player->getSpectator() && (spectatorsSeeEverything || player->getJudge()));
|
(anyPlayer->getSpectator() && (spectatorsSeeEverything || anyPlayer->getJudge()));
|
||||||
if ((recipients.testFlag(GameEventStorageItem::SendToPrivate) && playerPrivate) ||
|
if ((recipients.testFlag(GameEventStorageItem::SendToPrivate) && playerPrivate) ||
|
||||||
(recipients.testFlag(GameEventStorageItem::SendToOthers) && !playerPrivate))
|
(recipients.testFlag(GameEventStorageItem::SendToOthers) && !playerPrivate))
|
||||||
player->sendGameEvent(*cont);
|
anyPlayer->sendGameEvent(*cont);
|
||||||
}
|
}
|
||||||
if (recipients.testFlag(GameEventStorageItem::SendToPrivate)) {
|
if (recipients.testFlag(GameEventStorageItem::SendToPrivate)) {
|
||||||
cont->set_seconds_elapsed(secondsElapsed - startTimeOfThisGame);
|
cont->set_seconds_elapsed(secondsElapsed - startTimeOfThisGame);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue