Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
player_graphics_item.h
Go to the documentation of this file.
1
6
7#ifndef COCKATRICE_PLAYER_GRAPHICS_ITEM_H
8#define COCKATRICE_PLAYER_GRAPHICS_ITEM_H
9#include "../game_scene.h"
10#include "player.h"
11
12#include <QGraphicsObject>
13
14class HandZone;
15class PileZone;
16class PlayerTarget;
17class StackZone;
18class TableZone;
19class ZoneViewZone;
20
21class PlayerGraphicsItem : public QGraphicsObject
22{
23 Q_OBJECT
24
25public:
26 enum
27 {
29 };
30 int type() const override
31 {
32 return Type;
33 }
34
35 static constexpr int counterAreaWidth = 55;
36
38 void initializeZones();
39
40 [[nodiscard]] QRectF boundingRect() const override;
41 qreal getMinimumWidth() const;
42 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
43 void processSceneSizeChange(int newPlayerWidth);
44
45 void setMirrored(bool _mirrored);
46
47 bool getMirrored() const
48 {
49 return mirrored;
50 }
51
53 {
54 return static_cast<GameScene *>(scene());
55 }
56
58 {
59 return player;
60 }
61
63 {
64 return playerArea;
65 }
66
68 {
69 return playerTarget;
70 }
71
72 [[nodiscard]] PileZone *getDeckZoneGraphicsItem() const
73 {
75 }
76
78 {
80 }
81
83 {
85 }
86 [[nodiscard]] PileZone *getRfgZoneGraphicsItem() const
87 {
89 }
90 [[nodiscard]] TableZone *getTableZoneGraphicsItem() const
91 {
93 }
94 [[nodiscard]] StackZone *getStackZoneGraphicsItem() const
95 {
97 }
98 [[nodiscard]] HandZone *getHandZoneGraphicsItem() const
99 {
101 }
102
103public slots:
104 void onPlayerActiveChanged(bool _active);
105 void retranslateUi();
106
107signals:
110
111private:
122 QRectF bRect;
124
125private slots:
126 void updateBoundingRect();
127 void rearrangeZones();
128 void rearrangeCounters();
129};
130
131#endif // COCKATRICE_PLAYER_GRAPHICS_ITEM_H
Manages the game board display including players, zones, cards, and animations.
Definition game_scene.h:38
Definition hand_zone.h:14
Definition pile_zone.h:18
Definition player_area.h:17
PileZone * deckZoneGraphicsItem
Definition player_graphics_item.h:115
TableZone * getTableZoneGraphicsItem() const
Definition player_graphics_item.h:90
HandZone * handZoneGraphicsItem
Definition player_graphics_item.h:121
@ Type
Definition player_graphics_item.h:28
PileZone * getDeckZoneGraphicsItem() const
Definition player_graphics_item.h:72
TableZone * tableZoneGraphicsItem
Definition player_graphics_item.h:119
PlayerTarget * getPlayerTarget() const
Definition player_graphics_item.h:67
Player * getPlayer() const
Definition player_graphics_item.h:57
void initializeZones()
Definition player_graphics_item.cpp:55
void processSceneSizeChange(int newPlayerWidth)
Definition player_graphics_item.cpp:112
PileZone * getSideboardZoneGraphicsItem() const
Definition player_graphics_item.h:77
PileZone * getGraveyardZoneGraphicsItem() const
Definition player_graphics_item.h:82
StackZone * getStackZoneGraphicsItem() const
Definition player_graphics_item.h:94
void retranslateUi()
Definition player_graphics_item.cpp:35
void onPlayerActiveChanged(bool _active)
Definition player_graphics_item.cpp:50
GameScene * getGameScene() const
Definition player_graphics_item.h:52
static constexpr int counterAreaWidth
Definition player_graphics_item.h:35
PileZone * graveyardZoneGraphicsItem
Definition player_graphics_item.h:117
int type() const override
Definition player_graphics_item.h:30
PlayerArea * getPlayerArea() const
Definition player_graphics_item.h:62
StackZone * stackZoneGraphicsItem
Definition player_graphics_item.h:120
void rearrangeCounters()
Definition player_graphics_item.cpp:133
Player * player
Definition player_graphics_item.h:112
QRectF boundingRect() const override
Definition player_graphics_item.cpp:91
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition player_graphics_item.cpp:106
void setMirrored(bool _mirrored)
Definition player_graphics_item.cpp:125
PileZone * sideboardGraphicsItem
Definition player_graphics_item.h:116
qreal getMinimumWidth() const
Definition player_graphics_item.cpp:96
void updateBoundingRect()
Definition player_graphics_item.cpp:203
HandZone * getHandZoneGraphicsItem() const
Definition player_graphics_item.h:98
void rearrangeZones()
Definition player_graphics_item.cpp:153
PlayerGraphicsItem(Player *player)
Definition player_graphics_item.cpp:11
bool getMirrored() const
Definition player_graphics_item.h:47
PileZone * getRfgZoneGraphicsItem() const
Definition player_graphics_item.h:86
PlayerArea * playerArea
Definition player_graphics_item.h:113
PileZone * rfgZoneGraphicsItem
Definition player_graphics_item.h:118
PlayerTarget * playerTarget
Definition player_graphics_item.h:114
bool mirrored
Definition player_graphics_item.h:123
QRectF bRect
Definition player_graphics_item.h:122
Definition player_target.h:28
Definition player.h:65
Definition stack_zone.h:14
Definition table_zone.h:22
Definition view_zone.h:35
@ typeOther
Definition graphics_item_type.h:19
TODO: Document this.