mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-06 01:53:25 -08:00
* [Refactor] Move game logic into libcockatrice_game * [Refactor] Include card_state.h in player_actions.h * [Game] Inject settings providers into libcockatrice_game, drop Widgets * [Game] Follow base rename to createCardRequested after rebase * [Game] Drop unused CardItem forward declaration * [Game] Fix includes after moving game logic into libcockatrice_game --------- Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
66 lines
1.6 KiB
C++
66 lines
1.6 KiB
C++
#ifndef COCKATRICE_COUNTER_STATE_H
|
|
#define COCKATRICE_COUNTER_STATE_H
|
|
|
|
#include <QColor>
|
|
#include <QObject>
|
|
#include <QString>
|
|
#include <qtmetamacros.h>
|
|
|
|
class ServerInfo_Counter;
|
|
|
|
class CounterState : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
CounterState(int id, const QString &name, const QColor &color, int radius, int value, QObject *parent = nullptr);
|
|
|
|
static CounterState *fromProto(const ServerInfo_Counter &counter, QObject *parent = nullptr);
|
|
|
|
int getId() const
|
|
{
|
|
return id;
|
|
}
|
|
QString getName() const
|
|
{
|
|
return name;
|
|
}
|
|
QColor getColor() const
|
|
{
|
|
return color;
|
|
}
|
|
int getRadius() const
|
|
{
|
|
return radius;
|
|
}
|
|
int getValue() const
|
|
{
|
|
return value;
|
|
}
|
|
|
|
/**
|
|
* @brief Set the counter value.
|
|
* @param newValue The new value.
|
|
* @param skipDamageAnimation When true, valueChanged is emitted with skipDamageAnimation=true, letting views
|
|
* suppress damage-related feedback (e.g. battlefield shimmer, life counter flash) for values set during replay
|
|
* rewinds.
|
|
*/
|
|
void setValue(int newValue, bool skipDamageAnimation = false);
|
|
|
|
signals:
|
|
/**
|
|
* @brief Emitted whenever the value changes.
|
|
* @param oldValue The previous value.
|
|
* @param newValue The new value.
|
|
* @param skipDamageAnimation True when the change should not trigger damage/life-change feedback in views.
|
|
*/
|
|
void valueChanged(int oldValue, int newValue, bool skipDamageAnimation);
|
|
|
|
private:
|
|
int id;
|
|
QString name;
|
|
QColor color;
|
|
int radius;
|
|
int value;
|
|
};
|
|
|
|
#endif // COCKATRICE_COUNTER_STATE_H
|