#pragma once #include // for SDL_Point #include // for SDL_Renderer #include // for string #include // for vector class Asset; class Screen; class Text; class Texture; // Clase Debug class Debug { private: // Objetos y punteros SDL_Renderer *renderer; // El renderizador de la ventana Screen *screen; // Objeto encargado de dibujar en pantalla Asset *asset; // Objeto con los ficheros de recursos Text *text; // Objeto encargado de escribir texto en pantalla Texture *texture; // Textura para el texto // Variables std::vector slot; // Vector con los textos a escribir std::vector log; // Vector con los textos a escribir int x; // Posicion donde escribir el texto de debug int y; // Posición donde escribir el texto de debug bool enabled; // Indica si esta activo el modo debug public: // Constructor Debug(SDL_Renderer *renderer, Screen *screen, Asset *asset); // Destructor ~Debug(); // Actualiza las variables void update(); // Dibuja en pantalla void render(); // Establece la posición donde se colocará la información de debug void setPos(SDL_Point p); // Añade un texto para mostrar void add(std::string text); // Borra la información de debug void clear(); // Añade un texto para mostrar en el apartado log void addToLog(std::string text); // Borra la información de debug del apartado log void clearLog(); // Establece el valor de la variable void setEnabled(bool value); // Obtiene el valor de la variable bool getEnabled(); // Cambia el valor de la variable void switchEnabled(); };