difficulty: mogut desde options a un fitxer propi

This commit is contained in:
2025-07-23 19:52:57 +02:00
parent e21839e478
commit d33c1f5dc5
10 changed files with 319 additions and 146 deletions

View File

@@ -8,8 +8,9 @@
#include <vector> // Para vector
#include "asset.h" // Para Asset
#include "difficulty.h" // Para Difficulty
#include "external/json.hpp" // Para basic_json, iteration_proxy_value, oper...
#include "options.h" // Para Difficulty, DifficultyCode, SettingsOpt...
#include "options.h" // Para SettingsOpt...
using json = nlohmann::json;
@@ -121,19 +122,21 @@ void updateLanguageNames() {
// Actualiza los nombres de las dificultades
void updateDifficultyNames() {
for (auto &difficulty : Options::difficulties) {
switch (difficulty.code) {
case Options::DifficultyCode::EASY:
difficulty.name = Lang::getText("[SERVICE_MENU] EASY");
// 1. Pide una referencia MODIFICABLE a la lista de dificultades
auto &difficulties = Difficulty::getDifficulties();
// 2. Recorre la lista
for (auto &difficulty_info : difficulties) {
// 3. Para cada dificultad, usa su código para obtener el texto traducido y actualizar su nombre
switch (difficulty_info.code) {
case Difficulty::Code::EASY:
difficulty_info.name = Lang::getText("[SERVICE_MENU] EASY");
break;
case Options::DifficultyCode::NORMAL:
difficulty.name = Lang::getText("[SERVICE_MENU] NORMAL");
case Difficulty::Code::NORMAL:
difficulty_info.name = Lang::getText("[SERVICE_MENU] NORMAL");
break;
case Options::DifficultyCode::HARD:
difficulty.name = Lang::getText("[SERVICE_MENU] HARD");
break;
default:
difficulty.name = "Unknown";
case Difficulty::Code::HARD:
difficulty_info.name = Lang::getText("[SERVICE_MENU] HARD");
break;
}
}