CCIMXDesktop
 
Loading...
Searching...
No Matches
ScoreManager.h
1#ifndef SCOREMANAGER_H
2#define SCOREMANAGER_H
3
4#include "settings/settings_score.h"
5#include <QObject>
6
7class QTimer;
8class QMutex;
9
10class ScoreManager : public QObject {
11 Q_OBJECT
12public:
17 explicit ScoreManager(QObject* parent);
18
23 int get_score() const { return score; }
24
29 int get_step() const { return step; }
30
31public slots:
36 void set_score_increase_step(int step = Settings::Score::DEF_STEP);
37
41 void increase_once();
42
47 void increase_once(int score);
48
53 void set_increase_automatically(bool st);
54
58 void force_reset();
59
60private:
61 int score { Settings::Score::START_SCORE };
62 int step { Settings::Score::DEF_STEP };
63 std::shared_ptr<QMutex> mutex_locker;
64 QTimer* auto_update_timer;
65};
66
67#endif // SCOREMANAGER_H
Definition ScoreManager.h:10
void set_increase_automatically(bool st)
Enables/disables automatic score increase.
Definition ScoreManager.cpp:29
int get_score() const
Gets current score.
Definition ScoreManager.h:23
void increase_once()
Increments score once using current step.
Definition ScoreManager.cpp:19
int get_step() const
Gets current score increment step.
Definition ScoreManager.h:29
void force_reset()
Resets score to initial value.
Definition ScoreManager.cpp:33
void set_score_increase_step(int step=Settings::Score::DEF_STEP)
Sets score increment step size.
Definition ScoreManager.cpp:6