#pragma once #include class Screen; class Asset; class Input; class Texture; class Sprite; enum class OnScreenHelpStatus { hidden, showing, entering, exitting, }; // Classe on_screen_help class OnScreenHelp { private: // [SINGLETON] Objeto screen privado para Don Melitón static OnScreenHelp *onScreenHelp; Screen *screen; // Objeto encargado de dibujar en pantalla Asset *asset; // Objeto con los ficheros de recursos Input *input; // Objeto pata gestionar la entrada SDL_Texture *texture; // Textura donde dibujar // [SINGLETON] Ahora el constructor y el destructor son privados, para no poder crear objetos screen desde fuera // Constructor OnScreenHelp(); // Destructor ~OnScreenHelp(); public: // [SINGLETON] Crearemos el objeto screen con esta función estática static void init(); // [SINGLETON] Destruiremos el objeto screen con esta función estática static void destroy(); // [SINGLETON] Con este método obtenemos el objeto screen y podemos trabajar con él static OnScreenHelp *get(); };