migrant input: ja es poden redefinir els botons. Falta rebindar les accions a accions

This commit is contained in:
2025-08-04 13:55:58 +02:00
parent cde6ad4b71
commit adf21086e5
5 changed files with 41 additions and 47 deletions

View File

@@ -29,7 +29,7 @@ class DefineButtons {
void render(); // Dibuja el objeto en pantalla
void checkEvents(const SDL_Event &event); // Procesa los eventos
auto enable(Options::Gamepad *gamepad) -> bool; // Habilita la redefinición de botones
auto enable(Options::Gamepad *options_gamepad) -> bool; // Habilita la redefinición de botones
[[nodiscard]] auto isEnabled() const -> bool { return enabled_; }; // Comprueba si está habilitado
private:
@@ -44,13 +44,12 @@ class DefineButtons {
std::vector<Button> buttons_; // Definiciones de botones
size_t index_button_ = 0; // Índice del botón en proceso
std::vector<std::string> controller_names_; // Nombres de los mandos
Options::Gamepad *gamepad_;
Options::Gamepad *options_gamepad_;
// Métodos internos
void incIndexButton(); // Incrementa el índice de botones
void doControllerButtonDown(const SDL_GamepadButtonEvent &event); // Procesa pulsaciones
void bindButtons(std::shared_ptr<Input::Gamepad> gamepad); // Asigna botones al sistema de entrada
void saveBindingsToOptions(); // Guarda configuraciones
void bindButtons(Options::Gamepad *options_gamepad); // Asigna botones al sistema de entrada
auto checkButtonNotInUse(SDL_GamepadButton button) -> bool; // Verifica uso de botones
void clearButtons(); // Limpia asignaciones actuales
void checkEnd(); // Comprueba si ha finalizado