style: arreglant capçaleres

This commit is contained in:
2025-10-29 12:11:37 +01:00
parent 95b82e5f62
commit 633936c6e8
6 changed files with 207 additions and 209 deletions

View File

@@ -24,9 +24,9 @@ LoadingScreen::LoadingScreen()
color_loading_screen_sprite_(std::make_shared<SurfaceSprite>(color_loading_screen_surface_, 0, 0, color_loading_screen_surface_->getWidth(), color_loading_screen_surface_->getHeight())),
screen_surface_(std::make_shared<Surface>(Options::game.width, Options::game.height)),
delta_timer_(std::make_unique<DeltaTimer>()),
state_(LoadingState::SILENT1),
state_(State::SILENT1),
state_time_(0.0F),
current_border_type_(BorderType::NONE),
current_border_type_(Border::NONE),
load_rect_{0, 0, 0, 1.0F} {
// Configura la superficie donde se van a pintar los sprites
screen_surface_->clear(static_cast<Uint8>(PaletteColor::WHITE));
@@ -40,7 +40,7 @@ LoadingScreen::LoadingScreen()
// Cambia el color del borde
Screen::get()->setBorderColor(stringToColor("white"));
transitionToState(LoadingState::SILENT1);
transitionToState(State::SILENT1);
}
// Destructor
@@ -75,41 +75,41 @@ void LoadingScreen::initLineIndexArray() {
}
// Transiciona a un nuevo estado
void LoadingScreen::transitionToState(LoadingState new_state) {
void LoadingScreen::transitionToState(State new_state) {
state_ = new_state;
state_time_ = 0.0F;
// Acciones específicas al entrar en cada estado
switch (new_state) {
case LoadingState::SILENT1:
case LoadingState::SILENT2:
current_border_type_ = BorderType::WHITE;
case State::SILENT1:
case State::SILENT2:
current_border_type_ = Border::WHITE;
Audio::get()->stopMusic();
break;
case LoadingState::HEADER1:
case LoadingState::HEADER2:
current_border_type_ = BorderType::RED;
case State::HEADER1:
case State::HEADER2:
current_border_type_ = Border::RED;
// Reproducir sonido de cargar el header
Audio::get()->playMusic("loading_sound1.ogg");
break;
case LoadingState::BYTES1:
case LoadingState::BYTES2:
case LoadingState::LOADING_MONO:
current_border_type_ = BorderType::YELLOW;
case State::BYTES1:
case State::BYTES2:
case State::LOADING_MONO:
current_border_type_ = Border::YELLOW;
// Reproducir sonido de carga monocromática
Audio::get()->playMusic("loading_sound2.ogg");
break;
case LoadingState::LOADING_COLOR:
current_border_type_ = BorderType::YELLOW;
case State::LOADING_COLOR:
current_border_type_ = Border::YELLOW;
// Reproducir sonido de carga en color
Audio::get()->playMusic("loading_sound3.ogg");
break;
case LoadingState::COMPLETE:
current_border_type_ = BorderType::WHITE;
case State::COMPLETE:
current_border_type_ = Border::WHITE;
// Transicionar a la pantalla de título
SceneManager::current = SceneManager::Scene::TITLE;
SceneManager::options = SceneManager::Options::TITLE_WITH_LOADING_SCREEN;
@@ -125,45 +125,45 @@ void LoadingScreen::updateState(float delta_time) {
// Transiciones automáticas por tiempo para los estados iniciales
// LOADING_MONO y LOADING_COLOR transicionan en sus propias funciones
switch (state_) {
case LoadingState::SILENT1:
case State::SILENT1:
if (state_time_ >= SILENT1_DURATION) {
transitionToState(LoadingState::HEADER1);
transitionToState(State::HEADER1);
}
break;
case LoadingState::HEADER1:
case State::HEADER1:
if (state_time_ >= HEADER1_DURATION) {
transitionToState(LoadingState::BYTES1);
transitionToState(State::BYTES1);
}
break;
case LoadingState::BYTES1:
case State::BYTES1:
if (state_time_ >= BYTES1_DURATION) {
transitionToState(LoadingState::SILENT2);
transitionToState(State::SILENT2);
}
break;
case LoadingState::SILENT2:
case State::SILENT2:
if (state_time_ >= SILENT2_DURATION) {
transitionToState(LoadingState::HEADER2);
transitionToState(State::HEADER2);
}
break;
case LoadingState::HEADER2:
case State::HEADER2:
if (state_time_ >= HEADER2_DURATION) {
transitionToState(LoadingState::LOADING_MONO);
transitionToState(State::LOADING_MONO);
}
break;
case LoadingState::BYTES2:
case State::BYTES2:
if (state_time_ >= BYTES2_DURATION) {
transitionToState(LoadingState::COMPLETE);
transitionToState(State::COMPLETE);
}
break;
case LoadingState::LOADING_MONO:
case LoadingState::LOADING_COLOR:
case LoadingState::COMPLETE:
case State::LOADING_MONO:
case State::LOADING_COLOR:
case State::COMPLETE:
// Estos estados se gestionan en updateMonoLoad/updateColorLoad
break;
}
@@ -185,7 +185,7 @@ void LoadingScreen::updateMonoLoad(float delta_time) {
// Verificar si ha completado todas las líneas
if (CURRENT_LINE >= MONO_TOTAL_LINES) {
transitionToState(LoadingState::LOADING_COLOR);
transitionToState(State::LOADING_COLOR);
return;
}
@@ -224,7 +224,7 @@ void LoadingScreen::updateColorLoad(float delta_time) {
// Verificar si ha completado todos los bloques
if (CURRENT_BLOCK >= COLOR_TOTAL_BLOCKS) {
transitionToState(LoadingState::BYTES2);
transitionToState(State::BYTES2);
return;
}
@@ -328,25 +328,25 @@ void LoadingScreen::update() {
// Actualizar la carga según el estado actual
switch (state_) {
case LoadingState::SILENT1:
case LoadingState::HEADER1:
case LoadingState::BYTES1:
case LoadingState::SILENT2:
case LoadingState::HEADER2:
case LoadingState::BYTES2:
case State::SILENT1:
case State::HEADER1:
case State::BYTES1:
case State::SILENT2:
case State::HEADER2:
case State::BYTES2:
// Por ahora no hacen nada específico
// Tú definirás la lógica de cada estado aquí
break;
case LoadingState::LOADING_MONO:
case State::LOADING_MONO:
updateMonoLoad(DELTA_TIME);
break;
case LoadingState::LOADING_COLOR:
case State::LOADING_COLOR:
updateColorLoad(DELTA_TIME);
break;
case LoadingState::COMPLETE:
case State::COMPLETE:
// No hay más actualizaciones
break;
}
@@ -396,16 +396,16 @@ void LoadingScreen::renderBorder() {
if (Options::video.border.enabled) {
// Dibuja el efecto de carga en el borde según el tipo actual
switch (current_border_type_) {
case BorderType::YELLOW:
case Border::YELLOW:
renderYellowBorder();
break;
case BorderType::RED:
case Border::RED:
renderRedBorder();
break;
case BorderType::WHITE:
case Border::WHITE:
renderWhiteBorder();
break;
case BorderType::NONE:
case Border::NONE:
// No renderizar borde
break;
}