ServiceMenu fix: refresc visual al canviar els mandos dels jugadors

This commit is contained in:
2025-08-10 08:52:29 +02:00
parent 2b35ac0187
commit 3f34f80661

View File

@@ -42,14 +42,14 @@ ServiceMenu::ServiceMenu()
void ServiceMenu::toggle() {
if (define_buttons_ && define_buttons_->isEnabled()) return;
if (isAnimating() && !define_buttons_->isEnabled()) return; // No permitir toggle durante una animación
if (isAnimating() && !define_buttons_->isEnabled()) return; // No permitir toggle durante una animación
playBackSound();
enabled_ = !enabled_;
if (enabled_) {
// Primero resetea el estado y luego muestra la animación
//reset();
// reset();
Options::gamepad_manager.assignAndLinkGamepads();
renderer_->show(this);
} else {
@@ -64,7 +64,7 @@ void ServiceMenu::render() {
if (enabled_ || isAnimating()) {
renderer_->render(this);
} else {
return; // Si no está ni habilitado ni animándose, no dibujes nada.
return; // Si no está ni habilitado ni animándose, no dibujes nada.
}
// El mensaje de reinicio y otros elementos solo deben aparecer si está completamente visible,
@@ -339,8 +339,10 @@ void ServiceMenu::initializeOptions() {
options_.push_back(std::make_unique<ActionOption>(
Lang::getText("[SERVICE_MENU] SWAP_CONTROLLERS"),
SettingsGroup::CONTROLS,
[]() {
[this]() {
Options::gamepad_manager.swapPlayers();
adjustListValues(); // Sincroniza el valor de las opciones de lista (como MANDO1) con los datos reales
updateOptionPairs(); // Actualiza los pares de texto <opción, valor> que se van a dibujar
}));
// VIDEO