Afegit Cheevos::clearUnobtainableState();

This commit is contained in:
2025-03-01 22:49:03 +01:00
parent aca2be98af
commit cd96be80f9
4 changed files with 26 additions and 13 deletions

View File

@@ -80,7 +80,7 @@ void Cheevos::unlock(int id)
const int index = find(id);
// Si el índice es inválido, el logro no es válido, ya está completado o el sistema de logros no está habilitado, no hacemos nada
if (index == -1 || !cheevos_list_.at(index).valid || cheevos_list_.at(index).completed || !enabled_)
if (index == -1 || !cheevos_list_.at(index).obtainable || cheevos_list_.at(index).completed || !enabled_)
{
return;
}
@@ -94,14 +94,14 @@ void Cheevos::unlock(int id)
}
// Invalida un logro
void Cheevos::invalidate(int id)
void Cheevos::setUnobtainable(int id)
{
const int index = find(id);
// Si el índice es válido, se invalida el logro
if (index != -1)
{
cheevos_list_.at(index).valid = false;
cheevos_list_.at(index).obtainable = false;
}
}
@@ -184,7 +184,7 @@ void Cheevos::saveToFile()
}
// Devuelve el número total de logros desbloqueados
int Cheevos::unlocked()
int Cheevos::getTotalUnlockedAchievements()
{
int count = 0;
for (const auto &cheevo : cheevos_list_)
@@ -195,4 +195,13 @@ int Cheevos::unlocked()
}
}
return count;
}
// Elimina el estado "no obtenible"
void Cheevos::clearUnobtainableState()
{
for (auto &cheevo : cheevos_list_)
{
cheevo.obtainable = true;
}
}