Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
player_event_handler.h
Go to the documentation of this file.
1
6
7#ifndef COCKATRICE_PLAYER_EVENT_HANDLER_H
8#define COCKATRICE_PLAYER_EVENT_HANDLER_H
10
11#include <QObject>
12#include <libcockatrice/protocol/pb/game_event.pb.h>
13#include <libcockatrice/protocol/pb/game_event_context.pb.h>
14
15class CardItem;
16class CardZoneLogic;
17class Player;
18class Event_AttachCard;
19class Event_ChangeZoneProperties;
20class Event_CreateArrow;
21class Event_CreateCounter;
22class Event_CreateToken;
23class Event_DelCounter;
24class Event_DeleteArrow;
25class Event_DestroyCard;
26class Event_DrawCards;
27class Event_DumpZone;
28class Event_FlipCard;
29class Event_GameSay;
30class Event_MoveCard;
31class Event_RevealCards;
32class Event_RollDie;
33class Event_SetCardAttr;
34class Event_SetCardCounter;
35class Event_SetCounter;
36class Event_Shuffle;
37class PlayerEventHandler : public QObject
38{
39
40 Q_OBJECT
41signals:
42 void logSay(Player *player, QString message);
43 void logShuffle(Player *player, CardZoneLogic *zone, int start, int end);
44 void logRollDie(Player *player, int sides, const QList<uint> &rolls);
46 Player *startPlayer,
47 QString startCard,
48 Player *targetPlayer,
49 QString targetCard,
50 bool _playerTarget);
51 void logCreateToken(Player *player, QString cardName, QString pt, bool faceDown);
52 void logDrawCards(Player *player, int number, bool deckIsEmpty);
53 void logUndoDraw(Player *player, QString cardName);
55 CardItem *card,
56 CardZoneLogic *startZone,
57 int oldX,
58 CardZoneLogic *targetZone,
59 int newX);
60 void logFlipCard(Player *player, QString cardName, bool faceDown);
61 void logDestroyCard(Player *player, QString cardName);
62 void logAttachCard(Player *player, QString cardName, Player *targetPlayer, QString targetCardName);
63 void logUnattachCard(Player *player, QString cardName);
64 void logSetCardCounter(Player *player, QString cardName, int counterId, int value, int oldValue);
65 void logSetTapped(Player *player, CardItem *card, bool tapped);
66 void logSetCounter(Player *player, QString counterName, int value, int oldValue);
67 void logSetDoesntUntap(Player *player, CardItem *card, bool doesntUntap);
68 void logSetPT(Player *player, CardItem *card, QString newPT);
69 void logSetAnnotation(Player *player, CardItem *card, QString newAnnotation);
70 void logDumpZone(Player *player, CardZoneLogic *zone, int numberCards, bool isReversed = false);
72 CardZoneLogic *zone,
73 int cardId,
74 QString cardName,
75 Player *otherPlayer,
76 bool faceDown,
77 int amount,
78 bool isLentToAnotherPlayer = false);
81
82public:
84
85 void processGameEvent(GameEvent::GameEventType type,
86 const GameEvent &event,
87 const GameEventContext &context,
88 EventProcessingOptions options);
89
90 void eventGameSay(const Event_GameSay &event);
91 void eventShuffle(const Event_Shuffle &event);
92 void eventRollDie(const Event_RollDie &event);
93 void eventCreateArrow(const Event_CreateArrow &event);
94 void eventDeleteArrow(const Event_DeleteArrow &event);
95 void eventCreateToken(const Event_CreateToken &event);
96 void
97 eventSetCardAttr(const Event_SetCardAttr &event, const GameEventContext &context, EventProcessingOptions options);
98 void eventSetCardCounter(const Event_SetCardCounter &event);
99 void eventCreateCounter(const Event_CreateCounter &event);
100 void eventSetCounter(const Event_SetCounter &event);
101 void eventDelCounter(const Event_DelCounter &event);
102 void eventDumpZone(const Event_DumpZone &event);
103 void eventMoveCard(const Event_MoveCard &event, const GameEventContext &context);
104 void eventFlipCard(const Event_FlipCard &event);
105 void eventDestroyCard(const Event_DestroyCard &event);
106 void eventAttachCard(const Event_AttachCard &event);
107 void eventDrawCards(const Event_DrawCards &event);
108 void eventRevealCards(const Event_RevealCards &event, EventProcessingOptions options);
109 void eventChangeZoneProperties(const Event_ChangeZoneProperties &event);
110
111private:
113};
114
115#endif // COCKATRICE_PLAYER_EVENT_HANDLER_H
Definition card_item.h:29
Definition card_zone_logic.h:26
void logSetDoesntUntap(Player *player, CardItem *card, bool doesntUntap)
void logAlwaysRevealTopCard(Player *player, CardZoneLogic *zone, bool reveal)
void processGameEvent(GameEvent::GameEventType type, const GameEvent &event, const GameEventContext &context, EventProcessingOptions options)
Definition player_event_handler.cpp:537
void logDestroyCard(Player *player, QString cardName)
void eventCreateToken(const Event_CreateToken &event)
Definition player_event_handler.cpp:120
void logMoveCard(Player *player, CardItem *card, CardZoneLogic *startZone, int oldX, CardZoneLogic *targetZone, int newX)
void eventShuffle(const Event_Shuffle &event)
Definition player_event_handler.cpp:43
void eventChangeZoneProperties(const Event_ChangeZoneProperties &event)
Definition player_event_handler.cpp:520
void logRollDie(Player *player, int sides, const QList< uint > &rolls)
void logRevealCards(Player *player, CardZoneLogic *zone, int cardId, QString cardName, Player *otherPlayer, bool faceDown, int amount, bool isLentToAnotherPlayer=false)
void logSetCounter(Player *player, QString counterName, int value, int oldValue)
void logSetPT(Player *player, CardItem *card, QString newPT)
void logSetAnnotation(Player *player, CardItem *card, QString newAnnotation)
void logSetTapped(Player *player, CardItem *card, bool tapped)
void logAttachCard(Player *player, QString cardName, Player *targetPlayer, QString targetCardName)
void eventDumpZone(const Event_DumpZone &event)
Definition player_event_handler.cpp:215
void logSetCardCounter(Player *player, QString cardName, int counterId, int value, int oldValue)
void eventGameSay(const Event_GameSay &event)
Definition player_event_handler.cpp:38
void eventMoveCard(const Event_MoveCard &event, const GameEventContext &context)
Definition player_event_handler.cpp:228
void eventRollDie(const Event_RollDie &event)
Definition player_event_handler.cpp:78
void eventFlipCard(const Event_FlipCard &event)
Definition player_event_handler.cpp:337
void logFlipCard(Player *player, QString cardName, bool faceDown)
void logDrawCards(Player *player, int number, bool deckIsEmpty)
void eventDrawCards(const Event_DrawCards &event)
Definition player_event_handler.cpp:428
void logShuffle(Player *player, CardZoneLogic *zone, int start, int end)
void eventCreateArrow(const Event_CreateArrow &event)
Definition player_event_handler.cpp:97
void logUnattachCard(Player *player, QString cardName)
void eventDestroyCard(const Event_DestroyCard &event)
Definition player_event_handler.cpp:359
void eventDelCounter(const Event_DelCounter &event)
Definition player_event_handler.cpp:210
void logDumpZone(Player *player, CardZoneLogic *zone, int numberCards, bool isReversed=false)
Player * player
Definition player_event_handler.h:112
void eventSetCounter(const Event_SetCounter &event)
Definition player_event_handler.cpp:199
void eventSetCardAttr(const Event_SetCardAttr &event, const GameEventContext &context, EventProcessingOptions options)
Definition player_event_handler.cpp:147
void eventAttachCard(const Event_AttachCard &event)
Definition player_event_handler.cpp:382
void logCreateToken(Player *player, QString cardName, QString pt, bool faceDown)
void eventRevealCards(const Event_RevealCards &event, EventProcessingOptions options)
Definition player_event_handler.cpp:455
void logSay(Player *player, QString message)
void eventSetCardCounter(const Event_SetCardCounter &event)
Definition player_event_handler.cpp:176
void eventCreateCounter(const Event_CreateCounter &event)
Definition player_event_handler.cpp:194
void logAlwaysLookAtTopCard(Player *player, CardZoneLogic *zone, bool reveal)
PlayerEventHandler(Player *player)
Definition player_event_handler.cpp:34
void logUndoDraw(Player *player, QString cardName)
void logCreateArrow(Player *player, Player *startPlayer, QString startCard, Player *targetPlayer, QString targetCard, bool _playerTarget)
void eventDeleteArrow(const Event_DeleteArrow &event)
Definition player_event_handler.cpp:115
Definition player.h:65
TODO: Document this.