#pragma once #include #include #include "core/scene/scene.hpp" #include "game/debug_config.hpp" class Text; // Escena placeholder de la introducció. Com la resta de placeholders, durada // fixa i skip amb tecla no reservada; quan expira encadena a la factory // injectada (en producció: GameScene). // // `starting_players` és el resultat triat a la TitleScene (P1, P2 o BOTH). // L'IntroScene només el guarda i el reenvia a la seva factory; quan demà // l'intro tinga contingut real podrà variar segons qui jugue. class IntroScene : public Scene { public: using SceneFactory = std::function(DebugConfig::StartingPlayers)>; static constexpr int DURATION_MS = 5000; IntroScene(std::shared_ptr font, DebugConfig::StartingPlayers starting_players, SceneFactory next_factory); ~IntroScene() override; void update(int delta_ms) override; void render() override; private: std::shared_ptr font_; DebugConfig::StartingPlayers starting_players_; SceneFactory next_factory_; int timer_ms_{DURATION_MS}; };