forked from jaildesigner-jailgames/jaildoctors_dilemma
Singletonejant
Borrat menu.cpp que no estava gastantse...mmm.. desde mai
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include <string> // Para string
|
||||
#include <vector> // Para vector
|
||||
class Screen;
|
||||
struct options_t;
|
||||
|
||||
struct cheevos_t
|
||||
// Struct para los logros
|
||||
struct Achievement
|
||||
{
|
||||
int id; // Identificador del logro
|
||||
std::string caption; // Texto con el nombre del logro
|
||||
@@ -13,31 +13,29 @@ struct cheevos_t
|
||||
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
|
||||
|
||||
// Constructor vacío
|
||||
Achievement() : id(0), icon(0), completed(false), valid(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) {}
|
||||
};
|
||||
|
||||
class Cheevos
|
||||
{
|
||||
private:
|
||||
// Punteros y objetos
|
||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||
|
||||
// Variables
|
||||
std::vector<cheevos_t> cheevos; // Listado de logros
|
||||
bool enabled; // Indica si los logros se pueden obtener
|
||||
std::string file; // Fichero done leer/almacenar el estado de los logros
|
||||
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
|
||||
|
||||
// Inicializa los logros
|
||||
void init();
|
||||
|
||||
// Busca un logro por id y devuelve el indice
|
||||
// Busca un logro por id y devuelve el índice
|
||||
int find(int id);
|
||||
|
||||
// Carga el estado de los logros
|
||||
void load();
|
||||
|
||||
// Guarda el estado de los logros
|
||||
void save();
|
||||
|
||||
// Carga el estado de los logros desde un fichero
|
||||
void loadFromFile();
|
||||
|
||||
@@ -46,7 +44,7 @@ private:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Cheevos(Screen *screen, std::string file);
|
||||
Cheevos(const std::string &file);
|
||||
|
||||
// Destructor
|
||||
~Cheevos();
|
||||
@@ -58,17 +56,14 @@ public:
|
||||
void invalidate(int id);
|
||||
|
||||
// Habilita o deshabilita los logros
|
||||
void enable(bool value);
|
||||
void enable(bool value) { enabled_ = value; }
|
||||
|
||||
// Lista los logros
|
||||
std::vector<cheevos_t> list();
|
||||
std::vector<Achievement> list() { return cheevos_; }
|
||||
|
||||
// Devuelve el número total de logros desbloqueados
|
||||
int unlocked();
|
||||
|
||||
// Devuelve el número total de logros
|
||||
int count();
|
||||
|
||||
// Vuelve a cargar los logros desde el origen
|
||||
void reload();
|
||||
};
|
||||
int count() { return cheevos_.size(); }
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user