Files
coffee-crisis-ae/source/manage_hiscore_table.h
T
2024-10-22 13:56:50 +02:00

44 lines
1.0 KiB
C++

#pragma once
#include <string> // for string
#include <vector> // for vector
struct HiScoreEntry;
/*
Esta clase sirve para añadir elementos hiScoreEntry_r a un vector (tabla), de manera
que la tabla siempre está ordenada.
Además tiene un método para dejar la tabla con sus valores iniciales y métodos para
leer y escribir la tabla a un fichero
*/
// Clase ManageHiScoreTable
class ManageHiScoreTable
{
private:
// Variables
std::vector<HiScoreEntry> &table_; // Tabla con los records
// Ordena la tabla
void sort();
public:
// Constructor
explicit ManageHiScoreTable(std::vector<HiScoreEntry> &table)
: table_(table) {}
// Destructor
~ManageHiScoreTable() = default;
// Resetea la tabla a los valores por defecto
void clear();
// Añade un elemento a la tabla
void add(HiScoreEntry entry);
// Carga la tabla con los datos de un fichero
bool loadFromFile(const std::string &file_path);
// Guarda la tabla en un fichero
bool saveToFile(const std::string &file_path);
};