46 [[nodiscard]]
int type()
const override
51 QGraphicsItem *parent =
nullptr,
54 CardZoneLogic *_zone =
nullptr);
63 return state->getZone();
66 void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget)
override;
89 return state->getAttacking();
94 return state->getCounters();
99 return state->getAnnotation();
104 return state->getDoesntUntap();
109 return state->getPT();
111 void setPT(
const QString &_pt);
114 return state->getDestroyOnZoneChange();
118 state->setDestroyOnZoneChange(_destroy);
122 return state->getAttachedTo();
137 void resetState(
bool keepAnnotations =
false);
143 void drawArrow(
const QColor &arrowColor);
165 static QVariantList
parsePT(
const QString &pt);
171 QVariant
itemChange(GraphicsItemChange change,
const QVariant &value)
override;
Base class for graphical card items, providing shared rendering, identity, and interaction logic.
const int ROTATION_DEGREES_PER_FRAME
Definition card_item.h:24
CardRef cardRef
Definition abstract_card_item.h:26
AbstractCardItem(QGraphicsItem *parent=nullptr, const CardRef &cardRef={}, PlayerLogic *_owner=nullptr, int _id=-1)
Definition abstract_card_item.cpp:19
PlayerLogic * owner
Definition arrow_target.h:21
Core in-memory container for card and set data.
Definition card_database.h:30
Definition card_drag_item.h:15
Definition card_item.h:27
void setZone(CardZoneLogic *_zone)
Definition card_item.cpp:71
void deleteDragItem()
Definition card_item.cpp:267
void setOwner(PlayerLogic *_owner)
Definition card_item.h:83
bool animationEvent() override
Default: no per-tick animation. Subclasses override to animate.
Definition card_item.cpp:502
CardItem(PlayerLogic *_owner, QGraphicsItem *parent=nullptr, const CardRef &cardRef={}, int _cardid=-1, CardZoneLogic *_zone=nullptr)
Definition card_item.cpp:25
QPoint getGridPoint() const
Definition card_item.h:67
@ Type
Definition card_item.h:44
void playCard(bool faceDown)
Definition card_item.cpp:392
bool getDoesntUntap() const
Definition card_item.h:102
void handleClickedToPlay(bool shiftHeld)
Definition card_item.cpp:464
const QList< CardItem * > & getAttachedCards() const
Definition card_item.h:133
void processCardInfo(const ServerInfo_Card &_info)
Definition card_item.cpp:234
void setDoesntUntap(bool _doesntUntap)
Definition card_item.cpp:172
void setAttacking(bool _attacking)
Definition card_item.cpp:154
QString getAnnotation() const
Definition card_item.h:97
void removeAttachedCard(CardItem *card)
Definition card_item.h:129
CardZoneLogic * getZone() const
Definition card_item.h:61
void setAnnotation(const QString &_annotation)
Definition card_item.cpp:166
PlayerLogic * getOwner() const
Definition card_item.h:79
void prepareDelete()
Definition card_item.cpp:41
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override
Definition card_item.cpp:493
static QVariantList parsePT(const QString &pt)
Parses a string representing a p/t in order to extract the values from it.
Definition card_item.cpp:415
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition card_item.cpp:80
void resetState(bool keepAnnotations=false)
Resets the fields that should be reset after a zone transition.
Definition card_item.cpp:222
bool getAttacking() const
Definition card_item.h:87
void setGridPoint(const QPoint &_gridPoint)
Definition card_item.h:71
bool getDestroyOnZoneChange() const
Definition card_item.h:112
CardState * getState() const
Definition card_item.h:57
QList< CardItem * > attachedCards
Definition card_item.h:34
void setCounter(int _id, int _value)
Definition card_item.cpp:160
void deleteLater()
Definition card_item.cpp:62
void retranslateUi()
Definition card_item.cpp:76
CardDragItem * createDragItem(int _id, const QPointF &_pos, const QPointF &_scenePos, bool forceFaceDown)
Definition card_item.cpp:255
CardItem * getAttachedTo() const
Definition card_item.h:120
QString getPT() const
Definition card_item.h:107
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
Definition card_item.cpp:332
int type() const override
Definition card_item.h:46
void setPT(const QString &_pt)
Definition card_item.cpp:178
void setDestroyOnZoneChange(bool _destroy)
Definition card_item.h:116
QPoint gridPoint
Definition card_item.h:32
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
Definition card_item.cpp:477
const QMap< int, int > & getCounters() const
Definition card_item.h:92
QPoint getGridPos() const
Definition card_item.h:75
CardState * state
Definition card_item.h:30
void drawAttachArrow()
Definition card_item.cpp:307
void drawArrow(const QColor &arrowColor)
Definition card_item.cpp:275
void setAttachedTo(CardItem *_attachedTo)
Definition card_item.cpp:184
QVariant itemChange(GraphicsItemChange change, const QVariant &value) override
Definition card_item.cpp:530
void addAttachedCard(CardItem *card)
Definition card_item.h:125
CardDragItem * dragItem
Definition card_item.h:33
Definition card_state.h:10
Definition card_zone_logic.h:26
Definition card_zone.h:26
Definition player_logic.h:65
@ typeCard
Definition graphics_item_type.h:14
Definition serverinfo_card.proto:5