20#ifndef SERVER_CARDZONE_H
21#define SERVER_CARDZONE_H
28#include <libcockatrice/protocol/pb/serverinfo_zone.pb.h>
95 [[nodiscard]]
int getFreeGridColumn(
int x,
int y,
const QString &cardName,
bool dontStackSameName)
const;
102 void shuffle(
int start = 0,
int end = -1);
Definition server_response_containers.h:50
Definition remote_connection_controller.h:20
Definition dlg_manage_sets.h:29
Definition server_abstract_participant.h:57
Definition server_abstract_player.h:25
void clear()
Definition server_cardzone.cpp:333
bool alwaysRevealTopCard
Definition server_cardzone.h:44
Server_AbstractPlayer * player
Definition server_cardzone.h:38
bool isCardAtPosLookedAt(int pos) const
Definition server_cardzone.cpp:195
bool has_coords
Definition server_cardzone.h:40
QString name
Definition server_cardzone.h:39
const QSet< int > & getPlayersWithWritePermission() const
Definition server_cardzone.h:105
QSet< int > playersWithWritePermission
Definition server_cardzone.h:43
ServerInfo_Zone::ZoneType getType() const
Definition server_cardzone.h:81
void insertCard(Server_Card *card, int x, int y)
Definition server_cardzone.cpp:316
int removeCard(Server_Card *card)
Definition server_cardzone.cpp:140
void setAlwaysLookAtTopCard(bool _alwaysLookAtTopCard)
Definition server_cardzone.h:121
bool getAlwaysLookAtTopCard() const
Definition server_cardzone.h:117
void setAlwaysRevealTopCard(bool _alwaysRevealTopCard)
Definition server_cardzone.h:113
void shuffle(int start=0, int end=-1)
Definition server_cardzone.cpp:53
Server_Card * getCard(int id, int *position=nullptr, bool remove=false)
Definition server_cardzone.cpp:162
void getInfo(ServerInfo_Zone *info, Server_AbstractParticipant *recipient, bool omniscient)
Definition server_cardzone.cpp:351
void insertCardIntoCoordMap(Server_Card *card, int x, int y)
Definition server_cardzone.cpp:114
bool isColumnStacked(int x, int y) const
Definition server_cardzone.cpp:245
int getCardsBeingLookedAt() const
Definition server_cardzone.h:68
const QList< Server_Card * > & getCards() const
Definition server_cardzone.h:60
int cardsBeingLookedAt
Definition server_cardzone.h:42
int getFreeGridColumn(int x, int y, const QString &cardName, bool dontStackSameName) const
Definition server_cardzone.cpp:200
QMap< int, QMap< int, Server_Card * > > coordinateMap
Definition server_cardzone.h:47
QString getName() const
Definition server_cardzone.h:85
Server_AbstractPlayer * getPlayer() const
Definition server_cardzone.h:89
void addWritePermission(int playerId)
Definition server_cardzone.cpp:346
bool getAlwaysRevealTopCard() const
Definition server_cardzone.h:109
void moveCardInRow(GameEventStorage &ges, Server_Card *card, int x, int y)
Definition server_cardzone.cpp:263
void fixFreeSpaces(GameEventStorage &ges)
Definition server_cardzone.cpp:271
QMap< int, int > freeSpaceMap
Definition server_cardzone.h:49
bool alwaysLookAtTopCard
Definition server_cardzone.h:45
void setCardsBeingLookedAt(int _cardsBeingLookedAt)
Definition server_cardzone.h:72
QMap< int, QMultiMap< QString, int > > freePilesMap
Definition server_cardzone.h:48
void removeCardFromCoordMap(Server_Card *card, int oldX, int oldY)
Definition server_cardzone.cpp:83
bool hasCoords() const
Definition server_cardzone.h:77
void updateCardCoordinates(Server_Card *card, int oldX, int oldY)
Definition server_cardzone.cpp:304
Server_CardZone(Server_AbstractPlayer *_player, const QString &_name, bool _has_coords, ServerInfo_Zone::ZoneType _type)
Definition server_cardzone.cpp:38
ServerInfo_Zone::ZoneType type
Definition server_cardzone.h:41
QList< Server_Card * > cards
Definition server_cardzone.h:46
bool isColumnEmpty(int x, int y) const
Definition server_cardzone.cpp:254
Definition server_card.h:39
Definition serverinfo_zone.proto:3
ZoneType
Definition serverinfo_zone.proto:4