forked from jaildesigner-jailgames/jaildoctors_dilemma
Intentando guardar las estadisticas y logros online. Algo hay MUY MAL y no se que es. Ya lo miraré con calma.
This commit is contained in:
@@ -7,14 +7,21 @@
|
||||
// Constructor
|
||||
Online::Online(options_t *options)
|
||||
{
|
||||
this->options = 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";
|
||||
STATS_FLAG_END = "STATS_FLAG_END";
|
||||
CHEEVOS_FLAG_INI = "CHEEVOS_FLAG_INI";
|
||||
CHEEVOS_FLAG_END = "CHEEVOS_FLAG_END";
|
||||
|
||||
getAllData();
|
||||
std::cout << "allData: " << allData << std::endl;
|
||||
std::cout << "statsData: " << statsData << std::endl;
|
||||
std::cout << "cheevosData: " << cheevosData << std::endl;
|
||||
}
|
||||
|
||||
// Destructor
|
||||
@@ -25,24 +32,33 @@ Online::~Online()
|
||||
// Obtiene todos los datos y los coloca en sus respectivas variables
|
||||
void Online::getAllData()
|
||||
{
|
||||
if (options->online.enabled)
|
||||
if (!options->online.enabled)
|
||||
{
|
||||
allData = jscore::getUserData(options->online.gameID, options->online.jailerID);
|
||||
}
|
||||
|
||||
if (allData.length() == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// 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);
|
||||
const size_t statsDataLenght = statsEnd - statsIni;
|
||||
|
||||
// Obtiene la cadena con las estadisticas
|
||||
statsData = allData.substr(statsIni, statsEnd);
|
||||
if (statsIni != std::string::npos && statsEnd != std::string::npos)
|
||||
statsData = allData.substr(statsIni, statsDataLenght);
|
||||
|
||||
// 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);
|
||||
const size_t cheevosDataLenght = cheevosEnd - cheevosIni;
|
||||
|
||||
// Obtiene la cadena con los logros
|
||||
cheevosData = allData.substr(cheevosIni, cheevosEnd);
|
||||
if (cheevosIni != std::string::npos && cheevosEnd != std::string::npos)
|
||||
cheevosData = allData.substr(cheevosIni, cheevosDataLenght);
|
||||
}
|
||||
|
||||
// Coloca todos los datos desde las variables en la cadena allData
|
||||
@@ -65,6 +81,7 @@ std::string Online::getStats()
|
||||
// Guarda las estadísticas en el servidor
|
||||
void Online::setStats(std::string data)
|
||||
{
|
||||
getAllData();
|
||||
statsData = data;
|
||||
setAllData();
|
||||
}
|
||||
@@ -79,6 +96,7 @@ std::string Online::getCheevos()
|
||||
// Guarda los logros en el servidor
|
||||
void Online::setCheevos(std::string data)
|
||||
{
|
||||
getAllData();
|
||||
cheevosData = data;
|
||||
setAllData();
|
||||
}
|
||||
Reference in New Issue
Block a user