feat(fireworks): infraestructura (manager + pool + render, sin spawn aún)

This commit is contained in:
2026-05-21 17:22:46 +02:00
parent 5aab26f2ca
commit 56ce1a3236
7 changed files with 364 additions and 0 deletions
+12
View File
@@ -27,6 +27,7 @@ GameScene::GameScene(SDLManager& sdl, SceneContext& context)
: sdl_(sdl),
context_(context),
debris_manager_(sdl.getRenderer()),
firework_manager_(sdl.getRenderer()),
floating_score_manager_(sdl.getRenderer()),
text_(sdl.getRenderer()) {
// Recuperar configuración de match des del context
@@ -253,6 +254,7 @@ auto GameScene::stepContinueScreen(float delta_time) -> bool {
bullet.update(delta_time);
}
debris_manager_.update(delta_time);
firework_manager_.update(delta_time);
floating_score_manager_.update(delta_time);
return true;
}
@@ -277,6 +279,7 @@ auto GameScene::stepGameOver(float delta_time) -> bool {
bullet.update(delta_time);
}
debris_manager_.update(delta_time);
firework_manager_.update(delta_time);
floating_score_manager_.update(delta_time);
return true;
}
@@ -324,6 +327,7 @@ void GameScene::stepDeathSequence(float delta_time) {
bullet.update(delta_time);
}
debris_manager_.update(delta_time);
firework_manager_.update(delta_time);
floating_score_manager_.update(delta_time);
}
// El bool 'algun_mort' es puramente interno: no aporta nada al caller
@@ -392,6 +396,7 @@ void GameScene::runStageLevelStart(float delta_time) {
bullet.update(delta_time);
}
debris_manager_.update(delta_time);
firework_manager_.update(delta_time);
}
void GameScene::runStagePlaying(float delta_time) {
@@ -423,6 +428,7 @@ void GameScene::runStagePlaying(float delta_time) {
runCollisionDetections();
debris_manager_.update(delta_time);
firework_manager_.update(delta_time);
floating_score_manager_.update(delta_time);
}
@@ -439,6 +445,7 @@ void GameScene::runStageLevelCompleted(float delta_time) {
bullet.update(delta_time);
}
debris_manager_.update(delta_time);
firework_manager_.update(delta_time);
floating_score_manager_.update(delta_time);
}
@@ -511,6 +518,7 @@ void GameScene::drawContinueState() {
drawEnemies();
drawBullets();
debris_manager_.draw();
firework_manager_.draw();
floating_score_manager_.draw();
drawScoreboard();
drawContinue();
@@ -521,6 +529,7 @@ void GameScene::drawGameOverState() {
drawEnemies();
drawBullets();
debris_manager_.draw();
firework_manager_.draw();
floating_score_manager_.draw();
const std::string GAME_OVER_TEXT = "GAME OVER";
@@ -587,6 +596,7 @@ void GameScene::drawLevelStartState() {
drawActiveShipsAlive();
drawBullets();
debris_manager_.draw();
firework_manager_.draw();
floating_score_manager_.draw();
drawStageMessage(stage_manager_->getLevelStartMessage());
drawScoreboard();
@@ -598,6 +608,7 @@ void GameScene::drawPlayingState() {
drawEnemies();
drawBullets();
debris_manager_.draw();
firework_manager_.draw();
floating_score_manager_.draw();
drawScoreboard();
}
@@ -607,6 +618,7 @@ void GameScene::drawLevelCompletedState() {
drawActiveShipsAlive();
drawBullets();
debris_manager_.draw();
firework_manager_.draw();
floating_score_manager_.draw();
drawStageMessage(StageSystem::Constants::MISSATGE_LEVEL_COMPLETED);
drawScoreboard();