From 820b9f2d219ec64a1914180b811a29afc53f83ff Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Fri, 24 Apr 2026 18:18:55 +0200 Subject: [PATCH] =?UTF-8?q?feat(ui):=20bloc=20del=20jugador=202=20al=20men?= =?UTF-8?q?=C3=BA=20de=20teclat=20(nom=C3=A9s=20lectura)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/game/ui/service_menu.cpp | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/source/game/ui/service_menu.cpp b/source/game/ui/service_menu.cpp index 9ee4d91..7004cc8 100644 --- a/source/game/ui/service_menu.cpp +++ b/source/game/ui/service_menu.cpp @@ -736,15 +736,14 @@ auto ServiceMenu::buildKeyboardControls() -> Page { Page page; page.title_key = "menu.titles.keyboard"; - // Etiqueta divisòria per al jugador 1. Quan s'afegeixi el jugador 2, - // només s'ha d'apilar un segon bloc "Jugador 2" amb les seves tecles - // per sota, sense tocar cap altra cosa. + // Etiqueta divisòria per al jugador 1. page.items.push_back(makeLabel(Locale::get().text("menu.labels.player_1"))); - // Vinculacions actuals: les llegim directament de `Defaults::KeysGame`. - // Encara no hi ha setter, per tant els items surten com a informatius - // (no seleccionables). La lògica de captura i persistència arribarà en - // una segona iteració amb `Options::keysGameP1()`. + // Vinculacions actuals: les llegim directament de `Defaults::KeysGame` + // (P1) i `Defaults::KeysGameP2` (P2). Encara no hi ha setter, per + // tant els items surten com a informatius (no seleccionables). La + // lògica de captura i persistència arribarà en una segona iteració + // amb `Options::keysGameP1()` / `keysGameP2()`. page.items.push_back(makeKeyBind("menu.items.move_up", []() { return Defaults::KeysGame::UP; })); page.items.push_back(makeKeyBind("menu.items.move_down", @@ -754,6 +753,17 @@ auto ServiceMenu::buildKeyboardControls() -> Page { page.items.push_back(makeKeyBind("menu.items.move_right", []() { return Defaults::KeysGame::RIGHT; })); + // Bloc del jugador 2: mateixa forma, llegint de KeysGameP2. + page.items.push_back(makeLabel(Locale::get().text("menu.labels.player_2"))); + page.items.push_back(makeKeyBind("menu.items.move_up", + []() { return Defaults::KeysGameP2::UP; })); + page.items.push_back(makeKeyBind("menu.items.move_down", + []() { return Defaults::KeysGameP2::DOWN; })); + page.items.push_back(makeKeyBind("menu.items.move_left", + []() { return Defaults::KeysGameP2::LEFT; })); + page.items.push_back(makeKeyBind("menu.items.move_right", + []() { return Defaults::KeysGameP2::RIGHT; })); + return page; }