feat(logo,menu): reiniciar des de servei → LOGO amb reset (atura música) i logo_jailgames.gif centrat
This commit is contained in:
1 parent
8eaa91f309
commit
f7ab6a641a
7 files changed
+92
-35
No files matched your search
@@ -4,23 +4,29 @@
|
||||
|
||||
#include "core/scene/scene.hpp"
|
||||
|
||||
class Text;
|
||||
class Surface;
|
||||
|
||||
// Escena placeholder del logotip. Durada fixa (5 s) o skip amb qualsevol tecla
|
||||
// no reservada. Quan expira, publica un `ExitRequest` cap a TITLE; Director
|
||||
// és qui construeix la nova escena (l'escena no coneix els altres tipus i
|
||||
// es pot exercir en tests sense arrossegar dependències).
|
||||
// Escena del logotip de l'editora. Durada fixa (5 s) o skip amb qualsevol
|
||||
// tecla no reservada. Quan expira, publica un `ExitRequest` cap a TITLE;
|
||||
// Director és qui construeix la nova escena (l'escena no coneix els altres
|
||||
// tipus i es pot exercir en tests sense arrossegar dependències).
|
||||
//
|
||||
// Pinta el GIF `data/logo/logo_jailgames.gif` centrat dins del canvas
|
||||
// lògic, amb la seua paleta nadiua (no s'aplica la paleta UI). Si arriba
|
||||
// amb `reset=true` (acció "Reiniciar" del menú de servei), atura la
|
||||
// música i tots els sons al constructor — així el següent LOGO arrenca
|
||||
// silenciós encara que veníssem del joc en marxa.
|
||||
class LogoScene : public Scene {
|
||||
public:
|
||||
static constexpr int DURATION_MS = 5000;
|
||||
|
||||
explicit LogoScene(std::shared_ptr<Text> font);
|
||||
LogoScene(std::shared_ptr<Surface> logo, bool reset);
|
||||
~LogoScene() override;
|
||||
|
||||
void update(int delta_ms) override;
|
||||
void render() override;
|
||||
|
||||
private:
|
||||
std::shared_ptr<Text> font_;
|
||||
std::shared_ptr<Surface> logo_;
|
||||
int timer_ms_{DURATION_MS};
|
||||
};
|
||||
Reference in new issue
Block a user