1#ifndef ABSTRACT_PLAYER_H
2#define ABSTRACT_PLAYER_H
4#include "libcockatrice/protocol/pb/response.pb.h"
9#include <qtmetamacros.h>
22template <
typename T>
class QList;
28 class MoveCardCompareFunctor;
105 bool fixFreeSpaces =
true,
106 bool undoingDraw =
false,
107 bool isReversed =
false);
116 bool &revealTopStart,
117 bool &revealTopTarget,
133 const QString &attrValue,
173 bool withUserInfo)
override;
CardAttribute
Definition card_attributes.proto:2
Represents a complete deck, including metadata, zones, cards, and sideboard plans.
Definition deck_list.h:67
Definition server_response_containers.h:50
Definition remote_connection_controller.h:20
Definition server_response_containers.h:93
Definition server_abstract_participant.h:57
Server_AbstractParticipant(Server_Game *_game, int _playerId, const ServerInfo_User &_userInfo, bool _judge, Server_AbstractUserInterface *_handler)
Definition server_abstract_participant.cpp:61
const QMap< int, Server_Arrow * > & getArrows() const
Definition server_abstract_player.h:84
void addArrow(Server_Arrow *arrow)
Definition server_abstract_player.cpp:140
Server_AbstractPlayer(Server_Game *_game, int _playerId, const ServerInfo_User &_userInfo, bool _judge, Server_AbstractUserInterface *_handler)
Definition server_abstract_player.cpp:79
virtual Response::ResponseCode cmdSetCardCounter(const Command_SetCardCounter &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:1348
virtual Response::ResponseCode cmdIncCardCounter(const Command_IncCardCounter &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:1382
int newCardId()
Definition server_abstract_player.cpp:112
void sendCreateTokenEvents(Server_CardZone *zone, Server_Card *card, int xCoord, int yCoord, GameEventStorage &ges)
Definition server_abstract_player.cpp:1206
void revealTopCardIfNeeded(Server_CardZone *zone, GameEventStorage &ges)
Definition server_abstract_player.cpp:585
virtual Response::ResponseCode cmdRevealCards(const Command_RevealCards &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:1499
bool readyStart
Definition server_abstract_player.h:40
virtual Response::ResponseCode cmdDumpZone(const Command_DumpZone &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:1419
virtual void setupZones()
Definition server_abstract_player.cpp:117
virtual void clearZones()
Definition server_abstract_player.cpp:122
virtual Response::ResponseCode cmdMoveCard(const Command_MoveCard &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:793
int nextCardId
Definition server_abstract_player.h:41
bool sideboardLocked
Definition server_abstract_player.h:38
void addZone(Server_CardZone *zone)
Definition server_abstract_player.cpp:135
QMap< int, Server_Arrow * > arrows
Definition server_abstract_player.h:30
void processMoveCard(GameEventStorage &ges, Server_CardZone *startzone, Server_CardZone *targetzone, MoveCardStruct cardStruct, int xCoord, int yCoord, int &xIndex, bool &revealTopStart, bool &revealTopTarget, bool isReversed, bool undoingDraw)
Definition server_abstract_player.cpp:380
bool conceded
Definition server_abstract_player.h:36
void unattachCard(GameEventStorage &ges, Server_Card *card)
Definition server_abstract_player.cpp:615
bool getConceded() const
Definition server_abstract_player.h:71
virtual Response::ResponseCode cmdCreateArrow(const Command_CreateArrow &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:1235
~Server_AbstractPlayer() override
virtual Response::ResponseCode cmdCreateToken(const Command_CreateToken &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:993
void updateArrowId(int id)
Definition server_abstract_player.cpp:145
DeckList * deck
Definition server_abstract_player.h:37
bool getReadyStart() const
Definition server_abstract_player.h:63
Response::ResponseCode setCardAttrHelper(GameEventStorage &ges, int targetPlayerId, const QString &zone, int cardId, CardAttribute attribute, const QString &attrValue, Server_Card *unzonedCard=nullptr)
Definition server_abstract_player.cpp:633
virtual Response::ResponseCode cmdConcede(const Command_Concede &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:682
virtual void onCardBeingMoved(GameEventStorage &ges, const MoveCardStruct &cardStruct, Server_CardZone *startzone, Server_CardZone *targetzone, bool undoingDraw)
Definition server_abstract_player.cpp:552
const DeckList * getDeckList() const
Definition server_abstract_player.h:55
virtual Response::ResponseCode cmdChangeZoneProperties(const Command_ChangeZoneProperties &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:1621
void setConceded(bool _conceded)
Definition server_abstract_player.h:75
void prepareDestroy() override
Definition server_abstract_player.cpp:101
Response::ResponseCode moveCard(GameEventStorage &ges, Server_CardZone *startzone, const QList< const CardToMove * > &_cards, Server_CardZone *targetzone, int xCoord, int yCoord, bool fixFreeSpaces=true, bool undoingDraw=false, bool isReversed=false)
Definition server_abstract_player.cpp:286
virtual void getInfo(ServerInfo_Player *info, Server_AbstractParticipant *playerWhosAsking, bool omniscient, bool withUserInfo) override
Definition server_abstract_player.cpp:1659
virtual Response::ResponseCode cmdSetCardAttr(const Command_SetCardAttr &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:1335
bool getSideboardLocked() const
Definition server_abstract_player.h:59
virtual Response::ResponseCode cmdUnconcede(const Command_Unconcede &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:711
virtual Response::ResponseCode cmdDeleteArrow(const Command_DeleteArrow &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:1314
void setReadyStart(bool _readyStart)
Definition server_abstract_player.h:67
const QMap< QString, Server_CardZone * > & getZones() const
Definition server_abstract_player.h:80
int getCardCount() const
Total cards across all of this player's zones. The caller must hold the game's mutex.
Definition server_abstract_player.cpp:92
QMap< QString, Server_CardZone * > zones
Definition server_abstract_player.h:39
virtual Response::ResponseCode cmdReadyStart(const Command_ReadyStart &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:737
virtual Response::ResponseCode cmdFlipCard(const Command_FlipCard &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:837
virtual Response::ResponseCode cmdRollDie(const Command_RollDie &cmd, ResponseContainer &rc, GameEventStorage &ges) const override
Definition server_abstract_player.cpp:767
virtual Response::ResponseCode cmdAttachCard(const Command_AttachCard &cmd, ResponseContainer &rc, GameEventStorage &ges) override
Definition server_abstract_player.cpp:885
bool deleteArrow(int arrowId)
Definition server_abstract_player.cpp:151
void getPlayerProperties(ServerInfo_PlayerProperties &result) override
Definition server_abstract_player.cpp:1681
Definition server_abstractuserinterface.h:28
Definition server_arrow.h:11
Definition server_cardzone.h:36
Definition server_card.h:39
Definition server_game.h:67
Definition command_move_card.proto:5
Definition command_attach_card.proto:3
Definition command_change_zone_properties.proto:3
Definition command_concede.proto:3
Definition command_create_arrow.proto:6
Definition command_create_token.proto:3
Definition command_delete_arrow.proto:3
Definition command_dump_zone.proto:3
Definition command_flip_card.proto:3
Definition command_inc_card_counter.proto:3
Definition command_move_card.proto:28
Definition command_ready_start.proto:3
Definition command_reveal_cards.proto:3
Definition command_roll_die.proto:3
Definition command_set_card_attr.proto:4
Definition command_set_card_counter.proto:3
Definition command_concede.proto:8
Definition server_move_card_struct.h:8
ResponseCode
Definition response.proto:14
Definition serverinfo_playerproperties.proto:3
Definition serverinfo_player.proto:6
Definition serverinfo_user.proto:2