Files
jdd_opendingux/source/stats.h

57 lines
1.2 KiB
C++

#pragma once
#include <SDL2/SDL.h>
#include "common/utils.h"
#include <string>
#include <vector>
#ifndef STATS_H
#define STATS_H
struct stats_t
{
std::string name; // Nombre de la habitación donde se encuentra el objeto
int visited; // Cuenta las veces que se ha visitado una habitación
int died; // Cuenta las veces que se ha muerto en una habitación
};
class Stats
{
private:
// Punteros y objetos
options_t *options;
// Variables
std::vector<stats_t> list; // Lista con las estadisticas por habitación
std::string filePath; // Fichero con las estadísticas
// Busca una entrada en la lista por nombre
int findByName(std::string name);
// Carga las estadisticas desde un fichero
bool loadFromFile();
// Carga las estadisticas desde un servidor
bool loadFromServer();
// Guarda las estadisticas en un fichero
void saveToFile();
// Guarda las estadisticas en un servidor
void saveToServer();
public:
// Constructor
Stats(std::string file, options_t *options);
// Destructor
~Stats();
// Añade una muerte a las estadisticas
void addDeath(std::string name);
// Añade una visita a las estadisticas
void addVisit(std::string name);
};
#endif