13#include "../interface/deck_loader/loaded_deck.h"
22#include <QInputDialog>
23#include <QLoggingCategory>
27#include <libcockatrice/protocol/pb/card_attributes.pb.h>
28#include <libcockatrice/protocol/pb/game_event.pb.h>
73 const QList<const ServerInfo_Card *> &
cardList,
74 bool withWritePermission);
148 zones.insert(zone->getName(), zone);
154 return zones.value(zoneName);
157 const QMap<QString, CardZoneLogic *> &
getZones()
const
258 QMap<QString, CardZoneLogic *>
zones;
Definition abstract_card_item.h:21
Definition abstract_game.h:20
AnnotationDialog(QWidget *parent=nullptr)
Definition player_logic.h:276
void keyPressEvent(QKeyEvent *e) override
Definition player_actions.cpp:1455
Definition arrow_item.h:20
Definition arrow_target.h:18
Core in-memory container for card and set data.
Definition card_database.h:30
Definition card_item.h:27
Definition card_zone_logic.h:26
Definition card_zone.h:26
Definition counter_state.h:10
Represents a complete deck, including metadata, zones, cards, and sideboard plans.
Definition deck_list.h:63
Definition hand_zone_logic.h:12
Definition pile_zone_logic.h:12
Definition player_actions.h:36
Applies player-specific game events and emits corresponding log signals.
Definition player_event_handler.h:67
Definition player_info.h:16
StackZoneLogic * getStackZone()
Definition player_logic.h:187
PileZoneLogic * getRfgZone()
Definition player_logic.h:172
AbstractGame * getGame() const
Definition player_logic.h:119
PlayerEventHandler * getPlayerEventHandler() const
Definition player_logic.h:129
int getZoneId() const
Definition player_logic.h:225
void clearCustomZonesMenu()
void onRequestZoneViewToggle(const QString &zoneName, int numberCards, bool isReversed)
Definition player_logic.cpp:336
const QMap< QString, CardZoneLogic * > & getZones() const
Definition player_logic.h:157
PlayerInfo * getPlayerInfo() const
Definition player_logic.h:134
void activeChanged(bool active)
PileZoneLogic * getSideboardZone()
Definition player_logic.h:177
PlayerInfo * playerInfo
Definition player_logic.h:248
void addViewCustomZoneActionToCustomZoneMenu(QString zoneName)
void setPlaymatFromProperties(const ServerInfo_PlayerProperties &props)
Definition player_logic.cpp:253
void resetTopCardMenuActions()
PileZoneLogic * getDeckZone()
Definition player_logic.h:162
void setDialogSemaphore(const bool _active)
Definition player_logic.h:220
bool hasRemotePlaymat
Definition player_logic.h:267
void initializeZones()
Definition player_logic.cpp:40
QMap< QString, CardZoneLogic * > zones
Definition player_logic.h:258
PlayerLogic(const ServerInfo_User &info, int _id, bool _local, bool _judge, AbstractGame *_parent)
Definition player_logic.cpp:32
void requestRevealedZoneView(PlayerLogic *player, CardZoneLogic *zone, const QList< const ServerInfo_Card * > &cardList, bool withWritePermission)
void playmatChanged()
Emitted when the remote playmat (card/params) is updated from player properties.
CounterState * addCounter(const ServerInfo_Counter &counter)
Definition player_logic.cpp:269
HandZoneLogic * getHandZone()
Definition player_logic.h:192
PlaymatParams remotePlaymatParams
Definition player_logic.h:266
int zoneId
Definition player_logic.h:257
const DeckList & getDeck() const
Definition player_logic.h:141
void processCardAttachment(const ServerInfo_Player &info)
Definition player_logic.cpp:196
T * addZone(T *zone)
Definition player_logic.h:146
void counterRemoved(int counterId)
bool getActive() const
Definition player_logic.h:114
void setDeck(const DeckList &_deck)
Definition player_logic.cpp:246
void clearCounters()
Definition player_logic.cpp:296
PlayerEventHandler * playerEventHandler
Definition player_logic.h:249
void counterAdded(CounterState *state)
void setZoneId(int _zoneId)
Definition player_logic.cpp:90
QList< CardItem * > cardsToDelete
Definition player_logic.h:262
void clear()
Definition player_logic.cpp:66
bool getConceded() const
Definition player_logic.h:213
void deleteCard(CardItem *c)
Definition player_logic.cpp:235
void setActive(bool _active)
Definition player_logic.cpp:331
void addCard(CardItem *c)
Definition player_logic.cpp:230
PileZoneLogic * getGraveZone()
Definition player_logic.h:167
void setGameStarted()
Definition player_logic.cpp:346
CounterState * getLifeCounter() const
Definition player_logic.cpp:305
void requestCardMenuUpdate(const CardItem *card)
~PlayerLogic() override
Definition player_logic.cpp:53
CardRef remotePlaymatCard
Definition player_logic.h:265
PlayerActions * playerActions
Definition player_logic.h:250
AbstractGame * game
Definition player_logic.h:247
TableZoneLogic * getTableZone()
Definition player_logic.h:182
void delCounter(int counterId)
Definition player_logic.cpp:286
bool getHasRemotePlaymat() const
Definition player_logic.h:241
bool dialogSemaphore
Definition player_logic.h:261
QMap< int, CounterState * > getCounters() const
Definition player_logic.h:202
CardZoneLogic * getZone(const QString zoneName)
Definition player_logic.h:152
QMap< int, CounterState * > counters
Definition player_logic.h:259
const CardRef & getRemotePlaymatCard() const
Definition player_logic.h:233
bool active
Definition player_logic.h:252
void arrowDeleted(int creatorId, int arrowId)
DeckList deck
Definition player_logic.h:255
void requestZoneViewToggle(PlayerLogic *player, const QString &zoneName, int numberCards, bool isReversed)
bool clearCardsToDelete()
Definition player_logic.cpp:315
void concededChanged(int playerId, bool conceded)
void arrowsClearedLocally()
void newCardAdded(AbstractCardItem *card)
bool conceded
Definition player_logic.h:253
PlayerActions * getPlayerActions() const
Definition player_logic.h:124
void updateZones()
Definition player_logic.cpp:341
void arrowDeleteRequested(int creatorId, int arrowId)
void arrowCreateRequested(QSharedPointer< ArrowData > data)
void openDeckEditor(const LoadedDeck &deck)
void processPlayerInfo(const ServerInfo_Player &info)
Definition player_logic.cpp:98
void zoneIdChanged(int zoneId)
const PlaymatParams & getRemotePlaymatParams() const
Definition player_logic.h:237
void setConceded(bool _conceded)
Definition player_logic.cpp:78
Definition stack_zone_logic.h:12
Definition table_zone_logic.h:12
static QString cardList(const QList< CommanderSpellbookCardResult > &cards, int max=5)
Definition commander_spellbook_bracket_explainer.cpp:3
constexpr const char * TABLE
Definition zone_names.h:9
constexpr const char * EXILE
Definition zone_names.h:11
constexpr const char * SIDEBOARD
Definition zone_names.h:14
constexpr const char * HAND
Definition zone_names.h:12
constexpr const char * STACK
Definition zone_names.h:15
constexpr const char * DECK
Definition zone_names.h:13
constexpr const char * GRAVE
Definition zone_names.h:10
Definition player_actions.h:24
Player-scoped game event handler.
Q_LOGGING_CATEGORY(PlayerLog, "player")
const int MAX_TOKENS_PER_DIALOG
Definition player_logic.h:62
Definition commands.proto:7
Definition game_commands.proto:4
Definition game_event.proto:4
Represents a deck that was loaded from somewhere. Contains the DeckList itself, as well as info about...
Definition loaded_deck.h:14
Positioning parameters for a playmat card image.
Definition playmat_params.h:18
Definition serverinfo_arrow.proto:3
Definition serverinfo_card.proto:5
Definition serverinfo_counter.proto:3
Definition serverinfo_playerproperties.proto:3
Definition serverinfo_player.proto:6
Definition serverinfo_user.proto:2