Finalizada la clase Online

Eliminado de director la parte que ejecutaba el enter_id
This commit is contained in:
2023-10-09 13:47:36 +02:00
parent 3def97bcb8
commit 6a526df9b3
4 changed files with 100 additions and 21 deletions

View File

@@ -1794,20 +1794,6 @@ void Director::runDemo()
resource->free();
}
// Ejecuta la seccion en la que se solicita al usuario su ID online
void Director::runEnterID()
{
if (options->console)
{
std::cout << "\n* SECTION: ENTER_ID" << std::endl;
}
// loadResources(section);
enterID = new EnterID(renderer, screen, asset, options, section);
enterID->run();
delete enterID;
resource->free();
}
// Ejecuta la seccion del final del juego
void Director::runEnding()
{

View File

@@ -19,6 +19,7 @@
#include "game.h"
#include "intro.h"
#include "logo.h"
#include "online.h"
#include "title.h"
#ifndef DIRECTOR_H
@@ -40,7 +41,7 @@ private:
Intro *intro; // Objeto para gestionar la introducción del juego
Credits *credits; // Objeto para gestionar los creditos del juego
Demo *demo; // Objeto para gestionar el modo demo, en el que se ven pantallas del juego
EnterID *enterID; // Objeto para gestionar la sección donde se solicita el ID online al usuario
Online *online; // Objeto para gestionar la lectura y escritura de datos en el servidor remoto
Ending *ending; // Objeto para gestionar el final del juego
Ending2 *ending2; // Objeto para gestionar el final del juego
GameOver *gameOver; // Objeto para gestionar el final de la partida
@@ -104,9 +105,6 @@ private:
// Ejecuta la seccion de la demo, donde se ven pantallas del juego
void runDemo();
// Ejecuta la seccion en la que se solicita al usuario su ID online
void runEnterID();
// Ejecuta la seccion del final del juego
void runEnding();

View File

@@ -7,11 +7,78 @@
// 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();
}

View File

@@ -4,8 +4,8 @@
#include <string>
#include <vector>
#ifndef STATS_H
#define STATS_H
#ifndef ONLINE_H
#define ONLINE_H
class Online
{
@@ -13,12 +13,40 @@ private:
// Punteros y objetos
options_t *options;
// Variables
std::string allData; // La cadena entera de datos
std::string statsData; // La cadena con los datos de las estadísticas
std::string cheevosData; // La cadena con los datos de los logros
std::string STATS_FLAG_INI; // Marca para establecer el inicio de las estadísticas
std::string STATS_FLAG_END; // Marca para establecer el final de las estadísticas
std::string CHEEVOS_FLAG_INI; // Marca para establecer el inicio de los logros
std::string CHEEVOS_FLAG_END; // Marca para establecer el final de los logros
// Obtiene todos los datos y los coloca en sus respectivas variables
void getAllData();
// Coloca todos los datos desde las variables en la cadena allData
void setAllData();
public:
// Constructor
Online(options_t *options);
// Destructor
~Online();
// Obtiene las estadísticas guardadas en el servidor
std::string getStats();
// Guarda las estadísticas en el servidor
void setStats(std::string data);
// Obtiene los logros guardadas en el servidor
std::string getCheevos();
// Guarda los logros en el servidor
void setCheevos(std::string data);
};
#endif