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

@@ -11,14 +11,14 @@ struct Achievement
std::string description; // Texto que describe el logro
int icon; // Indice del icono a utilizar en la notificación
bool completed; // Indica si se ha obtenido el logro
bool valid; // Indica si se puede obtener el logro
bool obtainable; // Indica si se puede obtener el logro
// Constructor vacío
Achievement() : id(0), icon(0), completed(false), valid(true) {}
Achievement() : id(0), icon(0), completed(false), obtainable(true) {}
// Constructor parametrizado
Achievement(int id, const std::string &caption, const std::string &description, int icon, bool completed = false, bool valid = true)
: id(id), caption(caption), description(description), icon(icon), completed(completed), valid(valid) {}
Achievement(int id, const std::string &caption, const std::string &description, int icon, bool completed = false, bool obtainable = true)
: id(id), caption(caption), description(description), icon(icon), completed(completed), obtainable(obtainable) {}
};
class Cheevos
@@ -64,7 +64,10 @@ public:
void unlock(int id);
// Invalida un logro
void invalidate(int id);
void setUnobtainable(int id);
// Elimina el estado "no obtenible"
void clearUnobtainableState();
// Habilita o deshabilita los logros
void enable(bool value) { enabled_ = value; }
@@ -73,7 +76,7 @@ public:
std::vector<Achievement> list() { return cheevos_list_; }
// Devuelve el número total de logros desbloqueados
int unlocked();
int getTotalUnlockedAchievements();
// Devuelve el número total de logros
int size() { return cheevos_list_.size(); }