Acabat amb els singletones, de moment

Arreglat els checkEvents
This commit is contained in:
2025-02-22 23:39:10 +01:00
parent fc01676df2
commit 2ac425483b
25 changed files with 134 additions and 137 deletions

View File

@@ -25,10 +25,13 @@ struct Achievement
class Cheevos
{
private:
// [SINGLETON] Objeto privado
static Cheevos *cheevos_;
// Variables
std::vector<Achievement> cheevos_; // Listado de logros
bool enabled_ = true; // Indica si los logros se pueden obtener
std::string file_; // Fichero donde leer/almacenar el estado de los logros
std::vector<Achievement> cheevos_list_; // Listado de logros
bool enabled_ = true; // Indica si los logros se pueden obtener
std::string file_; // Fichero donde leer/almacenar el estado de los logros
// Inicializa los logros
void init();
@@ -42,13 +45,22 @@ private:
// Guarda el estado de los logros en un fichero
void saveToFile();
public:
// Constructor
Cheevos(const std::string &file);
// Destructor
~Cheevos();
public:
// [SINGLETON] Crearemos el objeto con esta función estática
static void init(const std::string &file);
// [SINGLETON] Destruiremos el objeto con esta función estática
static void destroy();
// [SINGLETON] Con este método obtenemos el objeto y podemos trabajar con él
static Cheevos *get();
// Desbloquea un logro
void unlock(int id);
@@ -59,11 +71,11 @@ public:
void enable(bool value) { enabled_ = value; }
// Lista los logros
std::vector<Achievement> list() { return cheevos_; }
std::vector<Achievement> list() { return cheevos_list_; }
// Devuelve el número total de logros desbloqueados
int unlocked();
// Devuelve el número total de logros
int count() { return cheevos_.size(); }
int count() { return cheevos_list_.size(); }
};