desacoplament de Player i Options
Player: canviat id de int a enum migrant input: eliminat Device, keyboard separat de la llista de mandos, llig i guarda configuracions de mandos falta: definir botons, asignar mandos a jugadors i guardar la asignació
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#include <vector> // Para vector
|
||||
|
||||
#include "input.h"
|
||||
#include "options.h"
|
||||
|
||||
// Clase DefineButtons
|
||||
class DefineButtons {
|
||||
@@ -26,14 +27,14 @@ class DefineButtons {
|
||||
DefineButtons();
|
||||
~DefineButtons() = default;
|
||||
|
||||
void render(); // Dibuja el objeto en pantalla
|
||||
void checkEvents(const SDL_Event &event); // Procesa los eventos
|
||||
auto enable(int index_controller) -> bool; // Habilita la redefinición de botones
|
||||
[[nodiscard]] auto isEnabled() const -> bool { return enabled_; }; // Comprueba si está habilitado
|
||||
void render(); // Dibuja el objeto en pantalla
|
||||
void checkEvents(const SDL_Event &event); // Procesa los eventos
|
||||
auto enable(std::shared_ptr<Options::Gamepad> gamepad_options) -> bool; // Habilita la redefinición de botones
|
||||
[[nodiscard]] auto isEnabled() const -> bool { return enabled_; }; // Comprueba si está habilitado
|
||||
|
||||
private:
|
||||
// Objetos
|
||||
Input *input_ = nullptr; // Gestión de entrada
|
||||
Input *input_ = nullptr; // Gestión de entrada
|
||||
|
||||
// Variables
|
||||
bool enabled_ = false; // Indica si está activo
|
||||
@@ -42,11 +43,12 @@ class DefineButtons {
|
||||
size_t index_button_ = 0; // Índice del botón en proceso
|
||||
std::vector<std::string> controller_names_; // Nombres de los mandos
|
||||
bool finished_ = false;
|
||||
std::shared_ptr<Options::Gamepad> gamepad_options_;
|
||||
|
||||
// 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 bindButtons(std::shared_ptr<Input::Gamepad> gamepad); // Asigna botones al sistema de entrada
|
||||
void saveBindingsToOptions(); // Guarda configuraciones
|
||||
auto checkButtonNotInUse(SDL_GamepadButton button) -> bool; // Verifica uso de botones
|
||||
void clearButtons(); // Limpia asignaciones actuales
|
||||
|
||||
Reference in New Issue
Block a user