47 [[nodiscard]]
int type()
const override
52 QGraphicsItem *parent =
nullptr,
55 CardZoneLogic *_zone =
nullptr);
64 return state->getZone();
67 void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget)
override;
90 return state->getAttacking();
95 return state->getCounters();
100 return state->getAnnotation();
105 return state->getDoesntUntap();
110 return state->getPT();
112 void setPT(
const QString &_pt);
115 return state->getDestroyOnZoneChange();
119 state->setDestroyOnZoneChange(_destroy);
123 return state->getAttachedTo();
138 void resetState(
bool keepAnnotations =
false);
144 void drawArrow(
const QColor &arrowColor);
166 static QVariantList
parsePT(
const QString &pt);
172 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:25
CardRef cardRef
Definition abstract_card_item.h:25
AbstractCardItem(QGraphicsItem *parent=nullptr, const CardRef &cardRef={}, PlayerLogic *_owner=nullptr, int _id=-1)
Definition abstract_card_item.cpp:16
PlayerLogic * owner
Definition arrow_target.h:21
Core in-memory container for card and set data.
Definition card_database.h:29
Definition card_drag_item.h:15
Definition card_item.h:28
void setZone(CardZoneLogic *_zone)
Definition card_item.cpp:69
void deleteDragItem()
Definition card_item.cpp:265
void setOwner(PlayerLogic *_owner)
Definition card_item.h:84
CardItem(PlayerLogic *_owner, QGraphicsItem *parent=nullptr, const CardRef &cardRef={}, int _cardid=-1, CardZoneLogic *_zone=nullptr)
Definition card_item.cpp:23
QPoint getGridPoint() const
Definition card_item.h:68
void playCard(bool faceDown)
Definition card_item.cpp:390
bool getDoesntUntap() const
Definition card_item.h:103
void handleClickedToPlay(bool shiftHeld)
Definition card_item.cpp:459
const QList< CardItem * > & getAttachedCards() const
Definition card_item.h:134
void processCardInfo(const ServerInfo_Card &_info)
Definition card_item.cpp:232
void setDoesntUntap(bool _doesntUntap)
Definition card_item.cpp:170
void setAttacking(bool _attacking)
Definition card_item.cpp:152
QString getAnnotation() const
Definition card_item.h:98
void removeAttachedCard(CardItem *card)
Definition card_item.h:130
CardZoneLogic * getZone() const
Definition card_item.h:62
void setAnnotation(const QString &_annotation)
Definition card_item.cpp:164
PlayerLogic * getOwner() const
Definition card_item.h:80
void prepareDelete()
Definition card_item.cpp:39
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override
Definition card_item.cpp:494
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:410
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition card_item.cpp:78
void resetState(bool keepAnnotations=false)
Resets the fields that should be reset after a zone transition.
Definition card_item.cpp:220
bool getAttacking() const
Definition card_item.h:88
void setGridPoint(const QPoint &_gridPoint)
Definition card_item.h:72
bool getDestroyOnZoneChange() const
Definition card_item.h:113
CardState * getState() const
Definition card_item.h:58
QList< CardItem * > attachedCards
Definition card_item.h:35
void setCounter(int _id, int _value)
Definition card_item.cpp:158
void deleteLater()
Definition card_item.cpp:60
void retranslateUi()
Definition card_item.cpp:74
CardDragItem * createDragItem(int _id, const QPointF &_pos, const QPointF &_scenePos, bool forceFaceDown)
Definition card_item.cpp:253
CardItem * getAttachedTo() const
Definition card_item.h:121
QString getPT() const
Definition card_item.h:108
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
Definition card_item.cpp:330
int type() const override
Definition card_item.h:47
@ Type
Definition card_item.h:45
void setPT(const QString &_pt)
Definition card_item.cpp:176
void setDestroyOnZoneChange(bool _destroy)
Definition card_item.h:117
QPoint gridPoint
Definition card_item.h:33
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
Definition card_item.cpp:472
const QMap< int, int > & getCounters() const
Definition card_item.h:93
QPoint getGridPos() const
Definition card_item.h:76
CardState * state
Definition card_item.h:31
void drawAttachArrow()
Definition card_item.cpp:305
void drawArrow(const QColor &arrowColor)
Definition card_item.cpp:273
void setAttachedTo(CardItem *_attachedTo)
Definition card_item.cpp:182
QVariant itemChange(GraphicsItemChange change, const QVariant &value) override
Definition card_item.cpp:531
void addAttachedCard(CardItem *card)
Definition card_item.h:126
CardDragItem * dragItem
Definition card_item.h:34
bool animationEvent()
Definition card_item.cpp:503
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