Posant make_uniques, s'ha quedat tot enmerdat per culpa d'un struct

This commit is contained in:
2024-10-08 13:53:24 +02:00
parent 9d41d14d68
commit 06a4f439c1
11 changed files with 157 additions and 304 deletions

View File

@@ -21,16 +21,13 @@
HiScoreTable::HiScoreTable(JA_Music_t *music) : music(music)
{
// Copia punteros
asset = Asset::get();
input = Input::get();
screen = Screen::get();
renderer = screen->getRenderer();
renderer = Screen::get()->getRenderer();
// Objetos
eventHandler = std::make_unique<SDL_Event>();
fade = std::make_unique<Fade>(renderer);
background = std::make_unique<Background>(renderer);
text = std::make_unique<Text>(asset->get("smb2.gif"), asset->get("smb2.txt"), renderer);
text = std::make_unique<Text>(Asset::get()->get("smb2.gif"), Asset::get()->get("smb2.txt"), renderer);
// Crea un backbuffer para el renderizador
backbuffer = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, param.game.width, param.game.height);
@@ -80,7 +77,7 @@ void HiScoreTable::update()
JA_PlayMusic(music);
// Actualiza el objeto screen
screen->update();
Screen::get()->update();
// Actualiza el fondo
background->update();
@@ -147,10 +144,10 @@ void HiScoreTable::fillTexture()
void HiScoreTable::render()
{
// Prepara para empezar a dibujar en la textura de juego
screen->start();
Screen::get()->start();
// Limpia la pantalla
screen->clean(bgColor);
Screen::get()->clean(bgColor);
// Pinta el fondo
background->render();
@@ -164,7 +161,7 @@ void HiScoreTable::render()
fade->render();
// Vuelca el contenido del renderizador en pantalla
screen->blit();
Screen::get()->blit();
}
// Recarga todas las texturas
@@ -202,7 +199,7 @@ void HiScoreTable::checkEvents()
void HiScoreTable::checkInput()
{
// Comprueba si se ha pulsado cualquier botón (de los usados para jugar)
if (input->checkAnyButtonPressed())
if (Input::get()->checkAnyButtonPressed())
{
JA_StopMusic();
section::name = section::NAME_TITLE;
@@ -211,7 +208,7 @@ void HiScoreTable::checkInput()
}
// Comprueba el input para el resto de objetos
screen->checkInput();
Screen::get()->checkInput();
// Comprueba los inputs que se pueden introducir en cualquier sección del juego
globalInputs::check();