10#include <QElapsedTimer>
11#include <QGraphicsItem>
15#include <QPainterPath>
19#include <QSharedPointer>
21#include <qtmetamacros.h>
30 Q_INTERFACES(QGraphicsItem)
64 [[nodiscard]]
int type()
const override
78 void paint(QPainter *painter,
const QStyleOptionGraphicsItem *option, QWidget *widget)
override;
83 [[nodiscard]] QPainterPath
shape()
const override
93 return data->creatorId;
Interface for scene items driven by GameScene's shared animation timer.
QMetaObject::Connection positionConnection
Definition arrow_item.h:133
PlayerLogic * player
Definition arrow_item.h:131
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:492
ArrowAttachItem(ArrowTarget *_startItem)
Definition arrow_item.cpp:475
void addChildArrow(ArrowAttachItem *child)
Definition arrow_item.cpp:487
QList< ArrowAttachItem * > childArrows
Definition arrow_item.h:132
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:535
void attachCards(CardItem *startCard, const CardItem *targetCard)
Definition arrow_item.cpp:567
void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:358
QList< ArrowDragItem * > childArrows
Definition arrow_item.h:115
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:406
QMetaObject::Connection positionConnection
Definition arrow_item.h:116
void addChildArrow(ArrowDragItem *child)
Definition arrow_item.cpp:353
PlayerLogic * player
Definition arrow_item.h:113
int deleteInPhase
Definition arrow_item.h:114
ArrowDragItem(PlayerLogic *_owner, ArrowTarget *_startItem, const QColor &_color, int _deleteInPhase)
Definition arrow_item.cpp:342
Definition arrow_item.h:28
ArrowTarget * getStartItem() const
Definition arrow_item.h:95
void setTargetLocked(bool _targetLocked)
Definition arrow_item.h:103
qreal strokeDurationMs
Definition arrow_item.h:42
static constexpr qreal glowExtent
Definition arrow_item.h:48
qreal glowFadeDurationMs
Definition arrow_item.h:43
QElapsedTimer animationClock
Definition arrow_item.h:41
void onTargetDestroyed()
Definition arrow_item.cpp:90
QRectF boundingRect() const override
Definition arrow_item.h:79
int type() const override
Definition arrow_item.h:64
int getCreatorId() const
Definition arrow_item.h:91
QPainterPath bodyPath
Definition arrow_item.h:36
void startDrawAnimation()
Definition arrow_item.cpp:202
void mousePressEvent(QGraphicsSceneMouseEvent *event) override
Definition arrow_item.cpp:320
QPainterPath centerLine
Definition arrow_item.h:39
qreal glowAlpha
Definition arrow_item.h:45
bool fullColor
Definition arrow_item.h:55
QPainterPath path
Definition arrow_item.h:35
QPointer< ArrowTarget > startItem
Definition arrow_item.h:52
int getId() const
Definition arrow_item.h:87
ArrowItem(QSharedPointer< const ArrowData > _data, ArrowTarget *_startItem, ArrowTarget *_targetItem)
Definition arrow_item.cpp:58
ArrowTarget * getTargetItem() const
Definition arrow_item.h:99
QSharedPointer< const ArrowData > data
Definition arrow_item.h:51
bool targetLocked
Definition arrow_item.h:54
qreal drawProgress
Definition arrow_item.h:44
QPainterPath shape() const override
Definition arrow_item.h:83
QPainterPath headPath
Definition arrow_item.h:37
bool animationStarted
Definition arrow_item.h:46
void updatePath()
Definition arrow_item.cpp:111
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition arrow_item.cpp:250
@ Type
Definition arrow_item.h:62
QPainterPath shaftOutlinePath
Definition arrow_item.h:38
qreal headBaseFraction
Definition arrow_item.h:40
QPointer< ArrowTarget > targetItem
Definition arrow_item.h:53
bool animationEvent() override
Advances the item's animation by one timer tick.
Definition arrow_item.cpp:224
void delArrow()
Definition arrow_item.cpp:103
void requestDeletion(int creatorId, int id)
Definition arrow_target.h:18
Definition card_item.h:33
Definition animated_item.h:15
Definition player_logic.h:56
Definition remote_connection_controller.h:20
Definition arrow_registry.h:10
@ typeArrow
Definition graphics_item_type.h:20