forked from jaildesigner-jailgames/jaildoctors_dilemma
style: arreglant capçaleres
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user