- La clase input ya admite inputs personalizados

- El juego ya utiliza el objeto input para comprobar las teclas de cambio de tamaño de ventana, pausa, etc.
This commit is contained in:
2023-02-10 18:28:53 +01:00
parent 5007bea835
commit 9c6924d7bb
6 changed files with 137 additions and 80 deletions

View File

@@ -131,9 +131,6 @@ void Game::checkEventHandler()
{
switch (eventHandler->key.keysym.scancode)
{
case SDL_SCANCODE_ESCAPE:
section->name = SECTION_PROG_TITLE;
break;
#ifdef DEBUG
case SDL_SCANCODE_G:
debug->switchEnabled();
@@ -178,50 +175,6 @@ void Game::checkEventHandler()
screen->showNotification("JAILDESIGNER IS LOGGED IN", "", 5);
break;
#endif
case SDL_SCANCODE_M:
board.music = !board.music;
board.music ? JA_ResumeMusic() : JA_PauseMusic();
break;
case SDL_SCANCODE_H:
switchPause();
break;
case SDL_SCANCODE_B:
screen->switchBorder();
reLoadTextures();
break;
case SDL_SCANCODE_F:
screen->switchVideoMode();
reLoadTextures();
break;
case SDL_SCANCODE_F1:
screen->setWindowSize(1);
reLoadTextures();
break;
case SDL_SCANCODE_F2:
screen->setWindowSize(2);
reLoadTextures();
break;
case SDL_SCANCODE_F3:
screen->setWindowSize(3);
reLoadTextures();
break;
case SDL_SCANCODE_F4:
screen->setWindowSize(4);
reLoadTextures();
break;
case SDL_SCANCODE_F5:
switchPalette();
break;
default:
break;
}
@@ -229,6 +182,67 @@ void Game::checkEventHandler()
}
}
// Comprueba el teclado
void Game::checkInput()
{
if (input->checkInput(input_exit, REPEAT_FALSE))
{
section->name = SECTION_PROG_TITLE;
}
if (input->checkInput(input_switch_music, REPEAT_FALSE))
{
board.music = !board.music;
board.music ? JA_ResumeMusic() : JA_PauseMusic();
}
if (input->checkInput(input_pause, REPEAT_FALSE))
{
switchPause();
}
if (input->checkInput(input_toggle_border, REPEAT_FALSE))
{
screen->switchBorder();
reLoadTextures();
}
if (input->checkInput(input_video_mode, REPEAT_FALSE))
{
screen->switchVideoMode();
reLoadTextures();
}
if (input->checkInput(input_window_size_1, REPEAT_FALSE))
{
screen->setWindowSize(1);
reLoadTextures();
}
if (input->checkInput(input_window_size_2, REPEAT_FALSE))
{
screen->setWindowSize(2);
reLoadTextures();
}
if (input->checkInput(input_window_size_3, REPEAT_FALSE))
{
screen->setWindowSize(3);
reLoadTextures();
}
if (input->checkInput(input_window_size_4, REPEAT_FALSE))
{
screen->setWindowSize(4);
reLoadTextures();
}
if (input->checkInput(input_swap_palette, REPEAT_FALSE))
{
switchPalette();
}
}
// Bucle para el juego
void Game::run()
{
@@ -259,6 +273,9 @@ void Game::update()
// Comprueba los eventos de la cola
checkEventHandler();
// Comprueba el teclado
checkInput();
#ifdef DEBUG
debug->clear();
#endif