mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-13 05:20:00 -08:00
Update Essence statistics, filters and distribution panels for all fifteen symbols
This commit is contained in:
parent
faa459ac24
commit
bd197ecf56
1 changed files with 13 additions and 6 deletions
|
|
@ -14,18 +14,25 @@
|
|||
#include <QList>
|
||||
#include <QSharedPointer>
|
||||
#include <QStringList>
|
||||
#include <libcockatrice/card/essence_types.h>
|
||||
#include <QVBoxLayout>
|
||||
#include <QWidget>
|
||||
|
||||
namespace
|
||||
{
|
||||
AnalyticsPanelWidgetRegistrar registerManaDistribution{
|
||||
"manaProdDevotion", ManaDistributionWidget::tr("Mana Production + Devotion"),
|
||||
"manaProdDevotion", ManaDistributionWidget::tr("Essence Production + Costs"),
|
||||
[](QWidget *parent, DeckListStatisticsAnalyzer *analyzer) { return new ManaDistributionWidget(parent, analyzer); }};
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
static const QStringList kColors = {"W", "U", "B", "R", "G", "C"};
|
||||
static const QStringList kEssences = [] {
|
||||
QStringList codes;
|
||||
for (const QChar symbol : Essence::symbols()) {
|
||||
codes.append(QString(symbol));
|
||||
}
|
||||
return codes;
|
||||
}();
|
||||
|
||||
ManaDistributionWidget::ManaDistributionWidget(QWidget *parent, DeckListStatisticsAnalyzer *analyzer)
|
||||
: AbstractAnalyticsPanelWidget(parent, analyzer)
|
||||
|
|
@ -49,7 +56,7 @@ ManaDistributionWidget::ManaDistributionWidget(QWidget *parent, DeckListStatisti
|
|||
row = new QHBoxLayout();
|
||||
containerLayout->addLayout(row);
|
||||
|
||||
for (const QString &c : kColors) {
|
||||
for (const QString &c : kEssences) {
|
||||
auto *w = new ManaDistributionSingleDisplayWidget(c, this);
|
||||
row->addWidget(w);
|
||||
rows[c] = w;
|
||||
|
|
@ -65,7 +72,7 @@ void ManaDistributionWidget::updateDisplay()
|
|||
const auto &prodPips = analyzer->getProductionPipCount();
|
||||
const auto &prodCards = analyzer->getProductionCardCount();
|
||||
|
||||
QStringList filtered = config.filters.isEmpty() ? kColors : config.filters;
|
||||
QStringList filtered = config.filters.isEmpty() ? kEssences : config.filters;
|
||||
|
||||
QMap<QString, int> devMap, prodMap;
|
||||
for (const QString &c : filtered) {
|
||||
|
|
@ -89,7 +96,7 @@ void ManaDistributionWidget::updateDisplay()
|
|||
productionBarTop->setColors(prodMap);
|
||||
}
|
||||
|
||||
for (const QString &c : kColors) {
|
||||
for (const QString &c : kEssences) {
|
||||
auto *w = rows.value(c);
|
||||
|
||||
if (!w) {
|
||||
|
|
@ -126,7 +133,7 @@ void ManaDistributionWidget::updateDisplay()
|
|||
QDialog *ManaDistributionWidget::createConfigDialog(QWidget *parent)
|
||||
{
|
||||
auto *dlg = new ManaDistributionConfigDialog(analyzer, parent);
|
||||
dlg->setWindowTitle(tr("Mana Distribution Settings"));
|
||||
dlg->setWindowTitle(tr("Essence Distribution Settings"));
|
||||
dlg->setFromConfig(config);
|
||||
|
||||
connect(dlg, &QDialog::accepted, [this, dlg]() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue