Make_unique en title.cpp

This commit is contained in:
2024-10-07 08:22:51 +02:00
parent b1f936a791
commit 4f0ea9dcf2
2 changed files with 54 additions and 81 deletions

View File

@@ -1,25 +1,29 @@
#pragma once
#include <SDL2/SDL_events.h> // for SDL_Event
#include <SDL2/SDL_stdinc.h> // for Uint32
#include "utils.h" // for section_t
#include <SDL2/SDL_events.h> // for SDL_Event
#include <SDL2/SDL_stdinc.h> // for Uint32
#include <memory>
#include "define_buttons.h"
#include "fade.h"
#include "game_logo.h"
#include "text.h"
#include "tiled_bg.h"
#include "utils.h" // for section_t
#include "sprite.h"
#include "texture.h"
class Asset;
class DefineButtons;
class Fade;
class GameLogo;
class Input;
class Screen;
class Sprite;
class Text;
class Texture;
class Tiledbg;
struct JA_Music_t;
// Textos
#define TEXT_COPYRIGHT "@2020,2024 JailDesigner"
constexpr const char TEXT_COPYRIGHT[] = "@2020,2024 JailDesigner";
// Parámetros
#define ALLOW_TITLE_ANIMATION_SKIP true
constexpr bool ALLOW_TITLE_ANIMATION_SKIP = true;
/*
Esta clase gestiona un estado del programa. Se encarga de la parte del titulo o menu
@@ -41,19 +45,19 @@ class Title
{
private:
// Objetos y punteros
Screen *screen; // Objeto encargado de dibujar en pantalla
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
Input *input; // Objeto para leer las entradas de teclado o mando
SDL_Event *eventHandler; // Manejador de eventos
Tiledbg *tiledbg; // Objeto para dibujar el mosaico animado de fondo
GameLogo *gameLogo; // Objeto para dibujar el logo con el título del juego
DefineButtons *defineButtons; // Objeto para definir los botones del joystic
Texture *miniLogoTexture; // Textura con el logo de JailGames mini
Sprite *miniLogoSprite; // Sprite con el logo de JailGames mini
Screen *screen; // Objeto encargado de dibujar en pantalla
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
Input *input; // Objeto para leer las entradas de teclado o mando
std::unique_ptr<SDL_Event> eventHandler; // Manejador de eventos
std::unique_ptr<Tiledbg> tiledbg; // Objeto para dibujar el mosaico animado de fondo
std::unique_ptr<GameLogo> gameLogo; // Objeto para dibujar el logo con el título del juego
std::unique_ptr<DefineButtons> defineButtons; // Objeto para definir los botones del joystic
std::unique_ptr<Texture> miniLogoTexture; // Textura con el logo de JailGames mini
std::unique_ptr<Sprite> miniLogoSprite; // Sprite con el logo de JailGames mini
Text *text1; // Objeto de texto para poder escribir textos en pantalla
Text *text2; // Objeto de texto para poder escribir textos en pantalla
Fade *fade; // Objeto para realizar fundidos en pantalla
std::unique_ptr<Text> text1; // Objeto de texto para poder escribir textos en pantalla
std::unique_ptr<Text> text2; // Objeto de texto para poder escribir textos en pantalla
std::unique_ptr<Fade> fade; // Objeto para realizar fundidos en pantalla
JA_Music_t *music; // Musica para el titulo
@@ -95,7 +99,7 @@ public:
Title(JA_Music_t *music);
// Destructor
~Title();
~Title() = default;
// Bucle para el titulo del juego
void run();