added distribution menu

This commit is contained in:
2025-03-29 21:57:27 +01:00
parent 7151be0b1a
commit 314b7a8488
12 changed files with 207 additions and 40 deletions

View File

@@ -69,18 +69,13 @@ void Settings::loadSettingsFromFile() {
// piece distribution
settingsFile.get(byte);
this->menu.getPiecesList().setDistributionMode(PiecesDistributionMode(byte));
this->menu.getPiecesList().setDistributionMode(DistributionMode(byte));
this->distributions.clear();
this->distributions.push_back(0);
for (int i = 1; i <= 15; i++) {
if (byte == CUSTOM) {
settingsFile.get(byte);
this->distributions.push_back(i);
}
else {
this->distributions.push_back(1);
}
settingsFile.get(byte);
this->distributions.push_back(byte);
}
this->confirmDistribution();
@@ -143,11 +138,9 @@ void Settings::saveSettingsToFile() const {
byte = this->menu.readPiecesList().getDistributionMode();
settingsFile.write(&byte, 1);
if (this->menu.readPiecesList().getDistributionMode() == CUSTOM) {
for (int i = 1; i <= 15; i++) {
byte = this->distributions.at(i);
settingsFile.write(&byte, 1);
}
for (int i = 1; i <= 15; i++) {
byte = this->distributions.at(i);
settingsFile.write(&byte, 1);
}
// selected pieces
@@ -256,10 +249,6 @@ void Settings::confirmSelectedPieces() {
}
}
bool Settings::setDistributionMode (PiecesDistributionMode distributionMode) {
return this->menu.getPiecesList().setDistributionMode(distributionMode);
}
bool Settings::increaseDistribution(int size) {
if (size < 1 || size > MAXIMUM_PIECES_SIZE) return false;
@@ -313,3 +302,7 @@ int Settings::getStartTimerLength() const {
const std::vector<std::pair<PiecesType, int>>& Settings::getSelectedPieces() const {
return this->selectedPieces;
}
const std::vector<int>& Settings::getDistributions() const {
return this->distributions;
}