Demana confirmació per a canviar el idioma amb les tecles ràpides
Demana confirmació per reiniciar
This commit is contained in:
@@ -372,3 +372,12 @@ MUSICA COMPOSADA PER
|
||||
|
||||
## 124 - CREDITS
|
||||
EFECTES DE SO
|
||||
|
||||
## 125 - NOTIFICACIONES
|
||||
Torna a polsar per reiniciar
|
||||
|
||||
## 126 - NOTIFICACIONES
|
||||
Torna a polsar per canviar el idioma a
|
||||
|
||||
## 127 - NOTIFICACIONES
|
||||
Idioma canviat a
|
||||
@@ -372,3 +372,12 @@ MUSIC COMPOSED BY
|
||||
|
||||
## 124 - CREDITS
|
||||
SOUND EFFECTS
|
||||
|
||||
## 125 - NOTIFICACIONES
|
||||
Press again to reset
|
||||
|
||||
## 126 - NOTIFICACIONES
|
||||
Press again to change languaje to
|
||||
|
||||
## 127 - NOTIFICACIONES
|
||||
Language set to
|
||||
@@ -372,3 +372,12 @@ MUSICA COMPUESTA POR
|
||||
|
||||
## 124 - CREDITS
|
||||
EFECTOS DE SONIDO
|
||||
|
||||
## 125 - NOTIFICACIONES
|
||||
Vuelve a pulsar para reiniciar
|
||||
|
||||
## 126 - NOTIFICACIONES
|
||||
Vuelve a pulsar para cambiar el idioma a
|
||||
|
||||
## 127 - NOTIFICACIONES
|
||||
Idioma cambiado a
|
||||
@@ -1268,9 +1268,11 @@ void Game::checkEvents()
|
||||
case SDLK_3: // Activa el modo para pasar el juego automaticamente
|
||||
{
|
||||
auto_pop_balloons_ = !auto_pop_balloons_;
|
||||
Notifier::get()->showText({"auto advance: " + boolToString(auto_pop_balloons_)});
|
||||
Notifier::get()->show({"auto advance: " + boolToString(auto_pop_balloons_)});
|
||||
if (auto_pop_balloons_)
|
||||
{
|
||||
balloon_manager_->destroyAllBalloons();
|
||||
}
|
||||
balloon_manager_->setDeployBalloons(!auto_pop_balloons_);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -21,9 +21,8 @@ namespace globalInputs
|
||||
// Termina
|
||||
void quit(section::Options code)
|
||||
{
|
||||
const std::string exit_code = "QUIT";
|
||||
auto code_found = stringInVector(Notifier::get()->getCodes(), exit_code);
|
||||
if (code_found)
|
||||
const std::string CODE = "QUIT";
|
||||
if (Notifier::get()->checkCode(CODE))
|
||||
{
|
||||
// Si la notificación de salir está activa, cambia de sección
|
||||
section::name = section::Name::QUIT;
|
||||
@@ -33,10 +32,10 @@ namespace globalInputs
|
||||
{
|
||||
// Si la notificación de salir no está activa, muestra la notificación
|
||||
#ifdef ARCADE
|
||||
const int index = code == section::Options::QUIT_WITH_CONTROLLER ? 116 : 94;
|
||||
Notifier::get()->showText({lang::getText(index), std::string()}, -1, exit_code);
|
||||
const int INDEX = code == section::Options::QUIT_WITH_CONTROLLER ? 116 : 94;
|
||||
Notifier::get()->showText({lang::getText(INDEX), std::string()}, -1, CODE);
|
||||
#else
|
||||
Notifier::get()->showText({lang::getText(94), std::string()}, -1, exit_code);
|
||||
Notifier::get()->show({lang::getText(94), std::string()}, -1, CODE);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -44,8 +43,16 @@ namespace globalInputs
|
||||
// Reinicia
|
||||
void reset()
|
||||
{
|
||||
section::name = section::Name::INIT;
|
||||
Notifier::get()->showText({"Reset"});
|
||||
const std::string CODE = "RESET";
|
||||
if (Notifier::get()->checkCode(CODE))
|
||||
{
|
||||
section::name = section::Name::INIT;
|
||||
Notifier::get()->show({"Reset"});
|
||||
}
|
||||
else
|
||||
{
|
||||
Notifier::get()->show({lang::getText(125), std::string()}, -1, CODE);
|
||||
}
|
||||
}
|
||||
|
||||
// Activa o desactiva el audio
|
||||
@@ -62,7 +69,7 @@ namespace globalInputs
|
||||
JA_SetMusicVolume(0);
|
||||
JA_SetSoundVolume(0);
|
||||
}
|
||||
Notifier::get()->showText({"Audio " + boolToOnOff(options.audio.enabled)});
|
||||
Notifier::get()->show({"Audio " + boolToOnOff(options.audio.enabled)});
|
||||
}
|
||||
|
||||
// Obtiene una fichero a partir de un lang::Code
|
||||
@@ -88,13 +95,13 @@ namespace globalInputs
|
||||
switch (code)
|
||||
{
|
||||
case lang::Code::ba_BA:
|
||||
return "ba_BA";
|
||||
return " \"ba_BA\"";
|
||||
break;
|
||||
case lang::Code::es_ES:
|
||||
return "es_ES";
|
||||
return " \"es_ES\"";
|
||||
break;
|
||||
default:
|
||||
return "en_UK";
|
||||
return " \"en_UK\"";
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -102,18 +109,27 @@ namespace globalInputs
|
||||
// Cambia el idioma
|
||||
void changeLang()
|
||||
{
|
||||
options.game.language = lang::change(options.game.language);
|
||||
lang::loadFromFile(getLangFile(static_cast<lang::Code>(options.game.language)));
|
||||
section::name = section::Name::INIT;
|
||||
section::options = section::Options::RELOAD;
|
||||
Notifier::get()->showText({getLangName(options.game.language)});
|
||||
const std::string CODE = "LANG";
|
||||
if (Notifier::get()->checkCode(CODE))
|
||||
{
|
||||
options.game.language = lang::getNextLangCode(options.game.language);
|
||||
lang::loadFromFile(getLangFile(static_cast<lang::Code>(options.game.language)));
|
||||
section::name = section::Name::INIT;
|
||||
section::options = section::Options::RELOAD;
|
||||
Notifier::get()->show({lang::getText(127) + getLangName(options.game.language)});
|
||||
}
|
||||
else
|
||||
{
|
||||
const auto NEXT = lang::getNextLangCode(options.game.language);
|
||||
Notifier::get()->show({lang::getText(126) + getLangName(NEXT), std::string()}, -1, CODE);
|
||||
}
|
||||
}
|
||||
|
||||
// Cambia el modo de disparo
|
||||
void toggleFireMode()
|
||||
{
|
||||
options.game.autofire = !options.game.autofire;
|
||||
Notifier::get()->showText({"Autofire " + boolToOnOff(options.game.autofire)});
|
||||
Notifier::get()->show({"Autofire " + boolToOnOff(options.game.autofire)});
|
||||
}
|
||||
|
||||
// Comprueba los inputs que se pueden introducir en cualquier sección del juego
|
||||
@@ -127,7 +143,7 @@ namespace globalInputs
|
||||
{
|
||||
Screen::get()->toggleVideoMode();
|
||||
const std::string mode = options.video.mode == ScreenVideoMode::WINDOW ? "Window" : "Fullscreen";
|
||||
Notifier::get()->showText({mode + " mode"});
|
||||
Notifier::get()->show({mode + " mode"});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -136,7 +152,7 @@ namespace globalInputs
|
||||
{
|
||||
Screen::get()->decWindowSize();
|
||||
const std::string size = std::to_string(options.video.window.size);
|
||||
Notifier::get()->showText({"Window size x" + size});
|
||||
Notifier::get()->show({"Window size x" + size});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -145,7 +161,7 @@ namespace globalInputs
|
||||
{
|
||||
Screen::get()->incWindowSize();
|
||||
const std::string size = std::to_string(options.video.window.size);
|
||||
Notifier::get()->showText({"Window size x" + size});
|
||||
Notifier::get()->show({"Window size x" + size});
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -41,10 +41,10 @@ namespace lang
|
||||
return texts.at(index);
|
||||
}
|
||||
|
||||
// Cambia el idioma seleccionado al siguiente idioma disponible
|
||||
Code change(Code current_lang)
|
||||
// Obtiene el codigo del idioma del siguiente idioma
|
||||
Code getNextLangCode(Code lang)
|
||||
{
|
||||
auto index = static_cast<int>(current_lang);
|
||||
auto index = static_cast<int>(lang);
|
||||
index = (index + 1) % 3;
|
||||
return static_cast<Code>(index);
|
||||
}
|
||||
|
||||
@@ -17,6 +17,6 @@ namespace lang
|
||||
// Obtiene la cadena de texto del indice
|
||||
std::string getText(int index);
|
||||
|
||||
// Cambia el idioma seleccionado al siguiente idioma disponible
|
||||
Code change(Code current_lang);
|
||||
// Obtiene el codigo del idioma del siguiente idioma
|
||||
Code getNextLangCode(Code lang);
|
||||
}
|
||||
@@ -153,7 +153,7 @@ void Notifier::clearFinishedNotifications()
|
||||
}
|
||||
}
|
||||
|
||||
void Notifier::showText(std::vector<std::string> texts, int icon, const std::string &code)
|
||||
void Notifier::show(std::vector<std::string> texts, int icon, const std::string &code)
|
||||
{
|
||||
// Si no hay texto, acaba
|
||||
if (texts.empty())
|
||||
@@ -164,7 +164,7 @@ void Notifier::showText(std::vector<std::string> texts, int icon, const std::str
|
||||
// Si las notificaciones no se apilan, elimina las anteriores
|
||||
if (!stack_)
|
||||
{
|
||||
clearNotifications();
|
||||
clearAllNotifications();
|
||||
}
|
||||
|
||||
// Elimina las cadenas vacías
|
||||
@@ -298,7 +298,7 @@ void Notifier::showText(std::vector<std::string> texts, int icon, const std::str
|
||||
bool Notifier::isActive() { return !notifications_.empty(); }
|
||||
|
||||
// Finaliza y elimnina todas las notificaciones activas
|
||||
void Notifier::clearNotifications()
|
||||
void Notifier::clearAllNotifications()
|
||||
{
|
||||
for (auto ¬ification : notifications_)
|
||||
{
|
||||
@@ -318,3 +318,9 @@ std::vector<std::string> Notifier::getCodes()
|
||||
}
|
||||
return codes;
|
||||
}
|
||||
|
||||
// Comprueba si hay alguna notificacion con un código
|
||||
bool Notifier::checkCode(std::string code)
|
||||
{
|
||||
return stringInVector(getCodes(), code);
|
||||
}
|
||||
@@ -66,7 +66,7 @@ private:
|
||||
void clearFinishedNotifications();
|
||||
|
||||
// Finaliza y elimnina todas las notificaciones activas
|
||||
void clearNotifications();
|
||||
void clearAllNotifications();
|
||||
|
||||
// [SINGLETON] Ahora el constructor y el destructor son privados, para no poder crear objetos notifier desde fuera
|
||||
|
||||
@@ -93,11 +93,14 @@ public:
|
||||
void update();
|
||||
|
||||
// Muestra una notificación de texto por pantalla
|
||||
void showText(std::vector<std::string> texts, int icon = -1, const std::string &code = std::string());
|
||||
void show(std::vector<std::string> texts, int icon = -1, const std::string &code = std::string());
|
||||
|
||||
// Indica si hay notificaciones activas
|
||||
bool isActive();
|
||||
|
||||
// Obtiene los códigos de las notificaciones
|
||||
std::vector<std::string> getCodes();
|
||||
|
||||
// Comprueba si hay alguna notificacion con un código
|
||||
bool checkCode(std::string code);
|
||||
};
|
||||
|
||||
@@ -337,7 +337,7 @@ void Screen::toggleShaders()
|
||||
options.video.shaders = !options.video.shaders;
|
||||
setVideoMode(options.video.mode);
|
||||
const std::string value = options.video.shaders ? "on" : "off";
|
||||
Notifier::get()->showText({"Shaders " + value});
|
||||
Notifier::get()->show({"Shaders " + value});
|
||||
}
|
||||
|
||||
// Activa / desactiva la información de debug
|
||||
|
||||
@@ -375,7 +375,7 @@ void Title::swapKeyboard()
|
||||
{
|
||||
swapOptionsKeyboard();
|
||||
std::string text = lang::getText(100) + std::to_string(getPlayerWhoUsesKeyboard()) + ": " + lang::getText(69);
|
||||
Notifier::get()->showText({text});
|
||||
Notifier::get()->show({text});
|
||||
}
|
||||
|
||||
// Muestra información sobre los controles y los jugadores
|
||||
@@ -404,5 +404,5 @@ void Title::showControllers()
|
||||
}
|
||||
|
||||
// Muestra la notificación
|
||||
Notifier::get()->showText({text.at(0), text.at(1)});
|
||||
Notifier::get()->show({text.at(0), text.at(1)});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user