#include "jail_engine/jscore.h" #include "online.h" #include #include #include // 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(); }