migrat Input a la ultima versió

cohesionats tots els metodes update de les escenes
This commit is contained in:
2025-11-01 22:28:51 +01:00
parent 1dd750ba0c
commit 824e7417ad
58 changed files with 26926 additions and 978 deletions

View File

@@ -5,13 +5,14 @@
#include <algorithm> // Para min, max
#include <string> // Para basic_string, operator+, to_string
#include "core/audio/audio.hpp" // Para Audio
#include "core/input/global_inputs.hpp" // Para check
#include "core/input/input.hpp" // Para Input
#include "core/rendering/screen.hpp" // Para Screen
#include "core/rendering/surface_animated_sprite.hpp" // Para SAnimatedSprite
#include "core/rendering/text.hpp" // Para TEXT_CENTER, TEXT_COLOR, Text
#include "core/resources/resource.hpp" // Para Resource
#include "core/system/global_events.hpp" // Para check
#include "core/audio/audio.hpp" // Para Audio
#include "game/options.hpp" // Para Options, options, OptionsStats, Secti...
#include "game/scene_manager.hpp" // Para SceneManager
#include "utils/defines.hpp" // Para GAMECANVAS_CENTER_X
@@ -45,24 +46,19 @@ GameOver::GameOver()
// Actualiza el objeto
void GameOver::update() {
// Obtiene el delta time desde el último frame
const float delta = delta_timer_->tick();
elapsed_time_ += delta;
const float DELTA_TIME = delta_timer_->tick();
elapsed_time_ += DELTA_TIME;
// Comprueba las entradas
checkInput();
handleEvents(); // Comprueba los eventos
handleInput(); // Comprueba las entradas
// Actualiza el estado de la escena
updateState();
updateState(); // Actualiza el estado de la escena
updateColor(); // Actualiza el color usado para renderizar los textos e imagenes
player_sprite_->update(DELTA_TIME); // Actualiza el sprite
tv_sprite_->update(DELTA_TIME); // Actualiza el sprite
// Actualiza el color usado para renderizar los textos e imagenes
updateColor();
// Actualiza los dos sprites con delta time
player_sprite_->update(delta);
tv_sprite_->update(delta);
// Actualiza el objeto Screen
Screen::get()->update(delta);
Audio::get()->update(); // Actualiza el objeto Audio
Screen::get()->update(DELTA_TIME); // Actualiza el objeto Screen
}
// Dibuja el final en pantalla
@@ -95,23 +91,23 @@ void GameOver::render() {
}
// Comprueba el manejador de eventos
void GameOver::checkEvents() {
void GameOver::handleEvents() {
SDL_Event event;
while (SDL_PollEvent(&event)) {
GlobalEvents::check(event);
GlobalEvents::handle(event);
}
}
// Comprueba las entradas
void GameOver::checkInput() {
GlobalInputs::check();
void GameOver::handleInput() {
Input::get()->update();
GlobalInputs::handle();
}
// Bucle principal
void GameOver::run() {
while (SceneManager::current == SceneManager::Scene::GAME_OVER) {
update();
checkEvents();
render();
}
}