67 lines
1.6 KiB
C++
67 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include <SDL2/SDL_rect.h> // Para SDL_Point
|
|
#include <SDL2/SDL_render.h> // Para SDL_Renderer
|
|
#include <string> // Para string
|
|
#include <vector> // 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<std::string> slot_; // Vector con los textos a escribir
|
|
std::vector<std::string> 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();
|
|
};
|