84 lines
2.1 KiB
C++
84 lines
2.1 KiB
C++
#include "jail_engine/jscore.h"
|
|
#include "online.h"
|
|
#include <fstream>
|
|
#include <iostream>
|
|
#include <sstream>
|
|
|
|
// Constructor
|
|
Online::Online(options_t *options)
|
|
{
|
|
allData = "";
|
|
statsData = "";
|
|
cheevosData = "";
|
|
|
|
STATS_FLAG_INI = "STATS_FLAG_INI";
|
|
STATS_FLAG_END = "STATS_FLAG_END";
|
|
CHEEVOS_FLAG_INI = "CHEEVOS_FLAG_INI";
|
|
CHEEVOS_FLAG_END = "CHEEVOS_FLAG_END";
|
|
}
|
|
|
|
// Destructor
|
|
Online::~Online()
|
|
{
|
|
}
|
|
|
|
// Obtiene todos los datos y los coloca en sus respectivas variables
|
|
void Online::getAllData()
|
|
{
|
|
if (options->online.enabled)
|
|
{
|
|
allData = jscore::getUserData(options->online.gameID, options->online.jailerID);
|
|
}
|
|
|
|
// Obtiene el inicio y el fin de la cadena con las estadisticas
|
|
const size_t statsIni = allData.find(STATS_FLAG_INI) + STATS_FLAG_INI.length();
|
|
const size_t statsEnd = allData.find(STATS_FLAG_END);
|
|
|
|
// Obtiene la cadena con las estadisticas
|
|
statsData = allData.substr(statsIni, statsEnd);
|
|
|
|
// Obtiene el inicio y el fin de la cadena con los logros
|
|
const size_t cheevosIni = allData.find(CHEEVOS_FLAG_INI) + CHEEVOS_FLAG_INI.length();
|
|
const size_t cheevosEnd = allData.find(CHEEVOS_FLAG_END);
|
|
|
|
// Obtiene la cadena con los logros
|
|
cheevosData = allData.substr(cheevosIni, cheevosEnd);
|
|
}
|
|
|
|
// Coloca todos los datos desde las variables en la cadena allData
|
|
void Online::setAllData()
|
|
{
|
|
allData = STATS_FLAG_INI + statsData + STATS_FLAG_END + CHEEVOS_FLAG_INI + cheevosData + CHEEVOS_FLAG_END;
|
|
if (options->online.enabled)
|
|
{
|
|
jscore::setUserData(options->online.gameID, options->online.jailerID, allData);
|
|
}
|
|
}
|
|
|
|
// Obtiene las estadísticas guardadas en el servidor
|
|
std::string Online::getStats()
|
|
{
|
|
getAllData();
|
|
return statsData;
|
|
}
|
|
|
|
// Guarda las estadísticas en el servidor
|
|
void Online::setStats(std::string data)
|
|
{
|
|
statsData = data;
|
|
setAllData();
|
|
}
|
|
|
|
// Obtiene los logros guardadas en el servidor
|
|
std::string Online::getCheevos()
|
|
{
|
|
getAllData();
|
|
return cheevosData;
|
|
}
|
|
|
|
// Guarda los logros en el servidor
|
|
void Online::setCheevos(std::string data)
|
|
{
|
|
cheevosData = data;
|
|
setAllData();
|
|
} |