Posibilidad de activar o desactivar el modo online
This commit is contained in:
@@ -21,8 +21,10 @@ Director::Director(std::string path)
|
||||
section.name = PROG_SECTION_QUIT;
|
||||
}
|
||||
|
||||
// Crea el puntero a la estructura y carga el fichero de configuración
|
||||
options = new options_t;
|
||||
// Inicializa las opciones del programa
|
||||
initOptions();
|
||||
|
||||
// Carga el fichero de configuración
|
||||
loadConfigFile();
|
||||
|
||||
// Inicializa SDL
|
||||
@@ -292,9 +294,11 @@ bool Director::setFileList()
|
||||
return asset->check();
|
||||
}
|
||||
|
||||
// Carga el fichero de configuración
|
||||
bool Director::loadConfigFile()
|
||||
// Inicializa las opciones del programa
|
||||
void Director::initOptions()
|
||||
{
|
||||
options = new options_t;
|
||||
|
||||
// Pone unos valores por defecto
|
||||
options->input.clear();
|
||||
|
||||
@@ -322,10 +326,17 @@ bool Director::loadConfigFile()
|
||||
options->keepAspect = true;
|
||||
options->borderSize = 0.0f;
|
||||
options->borderEnabled = false;
|
||||
|
||||
// Online
|
||||
options->online.enabled = true;
|
||||
options->online.gameID = "coffee_crisis";
|
||||
options->online.jailerID = "";
|
||||
options->online.score = 0;
|
||||
}
|
||||
|
||||
// Carga el fichero de configuración
|
||||
bool Director::loadConfigFile()
|
||||
{
|
||||
// Indicador de éxito en la carga
|
||||
bool success = true;
|
||||
|
||||
@@ -512,6 +523,13 @@ void Director::run()
|
||||
// Inicializa los servicios online
|
||||
void Director::initOnline()
|
||||
{
|
||||
if (!options->online.enabled)
|
||||
{
|
||||
screen->showText("Modo Online deshabilitado");
|
||||
std::cout << "Modo Online deshabilitado" << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
// Obtiene la información online
|
||||
if (jscore::initOnlineScore(options->online.gameID))
|
||||
{
|
||||
@@ -535,28 +553,32 @@ void Director::initOnline()
|
||||
f.close();
|
||||
}
|
||||
}
|
||||
else
|
||||
{ // Escribe en el fichero
|
||||
f << "";
|
||||
}
|
||||
f.close();
|
||||
|
||||
if (options->online.jailerID == "")
|
||||
{
|
||||
{ // Jailer ID no definido
|
||||
screen->showText("No ha especificado ningun Jailer ID");
|
||||
std::cout << "No ha especificado ningun Jailer ID" << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
{ // Jailer ID iniciado
|
||||
screen->showText(options->online.jailerID + " ha iniciado sesion");
|
||||
std::cout << options->online.jailerID << " ha iniciado sesion" << std::endl;
|
||||
}
|
||||
|
||||
// Obten la puntuación online
|
||||
const int points = jscore::getUserPoints(options->online.gameID, options->online.jailerID);
|
||||
if (points == 0)
|
||||
{
|
||||
screen->showText("No se ha podido obtener la puntuacion online");
|
||||
std::cout << "No se ha podido obtener la puntuacion online" << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
options->online.score = points;
|
||||
// Obten la puntuación online
|
||||
const int points = jscore::getUserPoints(options->online.gameID, options->online.jailerID);
|
||||
if (points == 0)
|
||||
{ // Fallo de conexión o no hay registros
|
||||
screen->showText("No se ha podido obtener la puntuacion online");
|
||||
std::cout << "No se ha podido obtener la puntuacion online" << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
options->online.score = points;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user