pantalla de carrega no bloquejant
streaming de audio per evitar precárrega i descompresió a memoria
This commit is contained in:
14
source/game/scenes/boot_loader.cpp
Normal file
14
source/game/scenes/boot_loader.cpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#include "game/scenes/boot_loader.hpp"
|
||||
|
||||
#include "core/resources/resource_cache.hpp"
|
||||
#include "game/scene_manager.hpp"
|
||||
|
||||
void BootLoader::iterate() {
|
||||
Resource::Cache::get()->renderProgress();
|
||||
}
|
||||
|
||||
void BootLoader::handleEvent(const SDL_Event& event) {
|
||||
if (event.type == SDL_EVENT_QUIT) {
|
||||
SceneManager::current = SceneManager::Scene::QUIT;
|
||||
}
|
||||
}
|
||||
17
source/game/scenes/boot_loader.hpp
Normal file
17
source/game/scenes/boot_loader.hpp
Normal file
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
|
||||
#include <SDL3/SDL.h>
|
||||
|
||||
#include "game/scenes/scene.hpp"
|
||||
|
||||
// Escena mínima que Director usa mientras el cache se carga incrementalmente.
|
||||
// No avanza la carga — lo hace Director::iterate() llamando a Cache::loadStep()
|
||||
// antes de despachar la escena. Aquí solo se pinta la barra de progreso.
|
||||
class BootLoader : public Scene {
|
||||
public:
|
||||
BootLoader() = default;
|
||||
~BootLoader() override = default;
|
||||
|
||||
void iterate() override;
|
||||
void handleEvent(const SDL_Event& event) override;
|
||||
};
|
||||
Reference in New Issue
Block a user