#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:
	// 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();

	// Guarda las estadisticas en un fichero
	void saveToFile();

public:
	// Constructor
	Stats(std::string file);

	// 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
