Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
player_target.h
Go to the documentation of this file.
1
6
7#ifndef PLAYERTARGET_H
8#define PLAYERTARGET_H
9
10#include "../animated_item.h"
14
15#include <QElapsedTimer>
16#include <QPixmap>
17#include <QtGlobal>
18#include <qtmetamacros.h>
19
20class PlayerLogic;
21class CounterState;
22class QGraphicsItem;
23
25{
26 Q_OBJECT
27protected:
28 void onValueChanged(int oldValue, int newValue, bool skipDamageAnimation) override;
29
30private:
31 static constexpr qreal flashDurationMs = 450.0;
32
33 QElapsedTimer flashClock;
34 qreal flashAlpha = 0.0;
35 int flashDelta = 0;
36
37public:
38 PlayerCounter(CounterState *state, PlayerLogic *player, QGraphicsItem *parent);
39 QRectF boundingRect() const override;
40 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
41 bool animationEvent() override;
42};
43
45{
46 Q_OBJECT
47private:
48 QPixmap fullPixmap;
50public slots:
51 void counterDeleted();
52
53public:
54 enum
55 {
57 };
58 int type() const override
59 {
60 return Type;
61 }
62
63 explicit PlayerTarget(PlayerLogic *_player = nullptr, QGraphicsItem *parentItem = nullptr);
64 ~PlayerTarget() override;
65 QRectF boundingRect() const override;
66 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
67
69};
70
71#endif
Interface for scene items driven by GameScene's shared animation timer.
Definition abstract_counter.h:27
AbstractCounter(CounterState *state, PlayerLogic *player, bool shownInCounterArea, bool useNameForShortcut=false, QGraphicsItem *parent=nullptr)
Definition abstract_counter.cpp:33
PlayerLogic * player
Definition abstract_counter.h:32
ArrowTarget(PlayerLogic *_owner, QGraphicsItem *parent=nullptr)
Definition arrow_target.cpp:7
Definition counter_state.h:12
Definition animated_item.h:15
Definition player_target.h:25
qreal flashAlpha
Definition player_target.h:34
PlayerCounter(CounterState *state, PlayerLogic *player, QGraphicsItem *parent)
Definition player_target.cpp:42
bool animationEvent() override
Advances the item's animation by one timer tick.
Definition player_target.cpp:123
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition player_target.cpp:52
QRectF boundingRect() const override
Definition player_target.cpp:47
static constexpr qreal flashDurationMs
Definition player_target.h:31
void onValueChanged(int oldValue, int newValue, bool skipDamageAnimation) override
Hook for subclasses that need per-value-change feedback (e.g. life-total flash).
Definition player_target.cpp:99
int flashDelta
Definition player_target.h:35
QElapsedTimer flashClock
Definition player_target.h:33
Definition player_logic.h:56
Definition player_target.h:45
int type() const override
Definition player_target.h:58
void counterDeleted()
Definition player_target.cpp:260
QRectF boundingRect() const override
Definition player_target.cpp:152
AbstractCounter * addCounter(CounterState *state)
Definition player_target.cpp:247
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition player_target.cpp:157
PlayerCounter * playerCounter
Definition player_target.h:49
QPixmap fullPixmap
Definition player_target.h:48
PlayerTarget(PlayerLogic *_player=nullptr, QGraphicsItem *parentItem=nullptr)
Definition player_target.cpp:134
@ Type
Definition player_target.h:56
@ typePlayerTarget
Definition graphics_item_type.h:17