#pragma once #include #include "asset.h" #include "const.h" #include "screen.h" #include "text.h" #include "utils.h" #include #include #ifndef DEBUG_H #define DEBUG_H // Clase Debug class Debug { private: 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 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(); }; #endif