28 lines
613 B
C++
28 lines
613 B
C++
#pragma once
|
|
#include <QColor>
|
|
#include <QMap>
|
|
#include <QWidget>
|
|
|
|
class QLabel;
|
|
|
|
class PanelsPanel : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit PanelsPanel(QWidget *parent = nullptr);
|
|
|
|
void setRnpCount(int count);
|
|
void setPanelColor(int index, const QColor &color);
|
|
void impactPanel(int index, int power);
|
|
void reset();
|
|
|
|
protected:
|
|
void paintEvent(QPaintEvent *event) override;
|
|
|
|
private:
|
|
int m_count = 0;
|
|
QMap<int,QColor> m_colors;
|
|
QMap<int,int> m_hits; // panel index → impact power (active for 3 s)
|
|
QLabel *m_statusLabel = nullptr;
|
|
};
|