Cockatrice 2026-09-01-Development-3.1.0-beta.10
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
18class PlayerLogic;
19
21{
22 Q_OBJECT
23protected:
24 void onValueChanged(int oldValue, int newValue) override;
25
26private:
27 static constexpr qreal flashDurationMs = 450.0;
28
29 QElapsedTimer flashClock;
30 qreal flashAlpha = 0.0;
31 int flashDelta = 0;
32
33public:
34 PlayerCounter(CounterState *state, PlayerLogic *player, QGraphicsItem *parent);
35 QRectF boundingRect() const override;
36 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
37 bool animationEvent() override;
38};
39
41{
42 Q_OBJECT
43private:
44 QPixmap fullPixmap;
46public slots:
47 void counterDeleted();
48
49public:
50 enum
51 {
53 };
54 int type() const override
55 {
56 return Type;
57 }
58
59 explicit PlayerTarget(PlayerLogic *_player = nullptr, QGraphicsItem *parentItem = nullptr);
60 ~PlayerTarget() override;
61 QRectF boundingRect() const override;
62 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
63
65};
66
67#endif
Interface for scene items driven by GameScene's shared animation timer.
Definition abstract_counter.h:24
AbstractCounter(CounterState *state, PlayerLogic *player, bool shownInCounterArea, bool useNameForShortcut=false, QGraphicsItem *parent=nullptr)
Definition abstract_counter.cpp:21
PlayerLogic * player
Definition abstract_counter.h:29
ArrowTarget(PlayerLogic *_owner, QGraphicsItem *parent=nullptr)
Definition arrow_target.cpp:6
Definition counter_state.h:10
Definition animated_item.h:15
Definition player_target.h:21
qreal flashAlpha
Definition player_target.h:30
PlayerCounter(CounterState *state, PlayerLogic *player, QGraphicsItem *parent)
Definition player_target.cpp:15
bool animationEvent() override
Advances the item's animation by one timer tick.
Definition player_target.cpp:91
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition player_target.cpp:25
QRectF boundingRect() const override
Definition player_target.cpp:20
static constexpr qreal flashDurationMs
Definition player_target.h:27
int flashDelta
Definition player_target.h:31
QElapsedTimer flashClock
Definition player_target.h:29
void onValueChanged(int oldValue, int newValue) override
Hook for subclasses that need per-value-change feedback (e.g. life-total flash).
Definition player_target.cpp:72
Definition player_logic.h:65
int type() const override
Definition player_target.h:54
void counterDeleted()
Definition player_target.cpp:218
QRectF boundingRect() const override
Definition player_target.cpp:120
AbstractCounter * addCounter(CounterState *state)
Definition player_target.cpp:205
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override
Definition player_target.cpp:125
~PlayerTarget() override
Definition player_target.cpp:113
PlayerCounter * playerCounter
Definition player_target.h:45
QPixmap fullPixmap
Definition player_target.h:44
PlayerTarget(PlayerLogic *_player=nullptr, QGraphicsItem *parentItem=nullptr)
Definition player_target.cpp:102
@ Type
Definition player_target.h:52
@ typePlayerTarget
Definition graphics_item_type.h:17