singletoning

This commit is contained in:
2025-02-21 18:03:09 +01:00
parent debcc3409e
commit 5f68c6256f
8 changed files with 601 additions and 563 deletions

View File

@@ -6,7 +6,8 @@
#include <SDL2/SDL_stdinc.h> // Para Uint32
#include <string> // Para basic_string, string
#include <vector> // Para vector
#include "paleta.h" // Para jSurface
#include <memory>
#include "paleta.h" // Para jSurface
class Asset;
class Cheevos;
class Input;
@@ -36,34 +37,33 @@ private:
};
// Objetos y punteros
SDL_Renderer *renderer; // El renderizador de la ventana
Screen *screen; // Objeto encargado de dibujar en pantalla
Resource *resource; // Objeto con los recursos
Asset *asset; // Objeto con los ficheros de recursos
Input *input; // Objeto pata gestionar la entrada
SDL_Event *eventHandler; // Manejador de eventos
Texture *texture; // Textura con los graficos
Sprite *sprite; // Sprite para manejar la textura
SDL_Texture *bgTexture; // Textura para dibujar el fondo de la pantalla
Text *text; // Objeto para escribir texto en pantalla
Text *infoText; // Objeto para escribir texto en pantalla
options_t *options; // Puntero a las opciones del juego
Texture *cheevosTexture; // Textura con lo lista de logros
Sprite *cheevosSprite; // Sprite para manejar la textura con la lista de logros
Cheevos *cheevos; // Objeto encargado de gestionar los logros del juego
section_t *section; // Estado del bucle principal para saber si continua o se sale
SDL_Renderer *renderer_; // El renderizador de la ventana
Screen *screen_; // Objeto encargado de dibujar en pantalla
Resource *resource_; // Objeto con los recursos
Input *input_; // Objeto pata gestionar la entrada
SDL_Event *event_handler_; // Manejador de eventos
Texture *texture_; // Textura con los graficos
Sprite *sprite_; // Sprite para manejar la textura
SDL_Texture *bg_texture_; // Textura para dibujar el fondo de la pantalla
Text *text_; // Objeto para escribir texto en pantalla
Text *info_text_; // Objeto para escribir texto en pantalla
options_t *options_; // Puntero a las opciones del juego
Texture *cheevos_texture_; // Textura con la lista de logros
Sprite *cheevos_sprite_; // Sprite para manejar la textura con la lista de logros
std::unique_ptr<Cheevos> cheevos_; // Objeto encargado de gestionar los logros del juego
section_t *section_; // Estado del bucle principal para saber si continua o se sale
// Variables
int counter; // Contador
std::string longText; // Texto que aparece en la parte inferior del titulo
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
std::vector<letter_t> letters; // Vector con las letras de la marquesina
int marqueeSpeed; // Velocidad de desplazamiento de la marquesina
bool showCheevos; // Indica si se muestra por pantalla el listado de logros
SDL_Rect cheevosTextureView; // Zona visible de la textura con el listado de logros
states_e state; // Estado en el que se encuentra el bucle principal
jSurface loading_screen; // Surface con los gráficos de la pantalla de carga
int counter_ = 0; // Contador
std::string long_text_; // Texto que aparece en la parte inferior del titulo
Uint32 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa
Uint32 ticks_speed_ = 15; // Velocidad a la que se repiten los bucles del programa
std::vector<letter_t> letters_; // Vector con las letras de la marquesina
int marquee_speed_ = 3; // Velocidad de desplazamiento de la marquesina
bool show_cheevos_ = false; // Indica si se muestra por pantalla el listado de logros
SDL_Rect cheevos_texture_view_; // Zona visible de la textura con el listado de logros
states_e state_; // Estado en el que se encuentra el bucle principal
jSurface loading_screen_; // Surface con los gráficos de la pantalla de carga
// Actualiza las variables
void update();
@@ -109,7 +109,7 @@ private:
public:
// Constructor
Title(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset, Input *input, options_t *options, section_t *section);
Title(SDL_Renderer *renderer, Screen *screen, Resource *resource, Input *input, options_t *options, section_t *section);
// Destructor
~Title();