32 lines
960 B
C++
32 lines
960 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
#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 publica un `ExitRequest`
|
|
// cap a GAME amb el `starting_players` rebut de TitleScene.
|
|
//
|
|
// `starting_players` és el resultat triat a la TitleScene (P1, P2 o BOTH).
|
|
// L'IntroScene només el guarda i el reenvia per `ExitRequest`; quan demà
|
|
// l'intro tinga contingut real podrà variar segons qui jugue.
|
|
class IntroScene : public Scene {
|
|
public:
|
|
static constexpr int DURATION_MS = 5000;
|
|
|
|
IntroScene(std::shared_ptr<Text> font, DebugConfig::StartingPlayers starting_players);
|
|
~IntroScene() override;
|
|
|
|
void update(int delta_ms) override;
|
|
void render() override;
|
|
|
|
private:
|
|
std::shared_ptr<Text> font_;
|
|
DebugConfig::StartingPlayers starting_players_;
|
|
int timer_ms_{DURATION_MS};
|
|
};
|