#pragma once #include // Para SDL_Point #include // Para SDL_Renderer #include // Para string #include // Para vector class Asset; class Screen; class Text; class Texture; // Clase Debug class Debug { private: // Objetos y punteros Screen *screen_; // Objeto encargado de dibujar en pantalla SDL_Renderer *renderer_; // El renderizador de la ventana 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_ = 0; // Posicion donde escribir el texto de debug int y_ = 0; // Posición donde escribir el texto de debug bool enabled_ = false; // Indica si esta activo el modo debug public: // Constructor Debug(); // 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(); };