Las clases text y menu ya acceden a resource
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
#include "debug.h"
|
||||
|
||||
// Constructor
|
||||
Debug::Debug(SDL_Renderer *renderer, Screen *screen, Asset *asset)
|
||||
Debug::Debug(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset)
|
||||
{
|
||||
// Copia la dirección de los objetos
|
||||
this->resource = resource;
|
||||
this->renderer = renderer;
|
||||
this->screen = screen;
|
||||
this->asset = asset;
|
||||
|
||||
// Reserva memoria para los punteros
|
||||
text = new Text(asset->get("debug.png"), asset->get("debug.txt"), renderer);
|
||||
text = new Text("debug.png", asset->get("debug.txt"), resource, renderer);
|
||||
|
||||
// Inicializa variables
|
||||
x = 0;
|
||||
|
||||
@@ -17,10 +17,11 @@ 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
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Screen *screen; // Objeto encargado de dibujar en pantalla
|
||||
Resource *resource; // Objeto con los recursos
|
||||
Asset *asset; // Objeto con los ficheros de recursos
|
||||
Text *text; // Objeto encargado de escribir texto en pantalla
|
||||
|
||||
// Variables
|
||||
std::vector<std::string> slot; // Vector con los textos a escribir
|
||||
@@ -31,7 +32,7 @@ private:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Debug(SDL_Renderer *renderer, Screen *screen, Asset *asset);
|
||||
Debug(SDL_Renderer *renderer, Screen *screen, Resource *resource, Asset *asset);
|
||||
|
||||
// Destructor
|
||||
~Debug();
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#include "menu.h"
|
||||
|
||||
// Constructor
|
||||
Menu::Menu(SDL_Renderer *renderer, Asset *asset, Input *input, std::string file)
|
||||
Menu::Menu(SDL_Renderer *renderer, Resource *resource, Asset *asset, Input *input, std::string file)
|
||||
{
|
||||
// Copia punteros
|
||||
this->renderer = renderer;
|
||||
@@ -154,7 +154,7 @@ bool Menu::load(std::string file_path)
|
||||
// Crea el objeto text tan pronto como se pueda. Necesario para añadir items
|
||||
if (font_png != "" && font_txt != "" && !textAllocated)
|
||||
{
|
||||
text = new Text(asset->get(font_png), asset->get(font_txt), renderer);
|
||||
text = new Text(font_png, asset->get(font_txt), resource, renderer);
|
||||
textAllocated = true;
|
||||
}
|
||||
}
|
||||
@@ -977,6 +977,6 @@ void Menu::setText(std::string font_png, std::string font_txt)
|
||||
{
|
||||
if (!text)
|
||||
{
|
||||
text = new Text(font_png, font_txt, renderer);
|
||||
text = new Text(font_png, font_txt, resource, renderer);
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "asset.h"
|
||||
#include "input.h"
|
||||
#include "jail_audio.h"
|
||||
#include "resource.h"
|
||||
#include "sprite.h"
|
||||
#include "text.h"
|
||||
#include "utils.h"
|
||||
@@ -70,9 +71,10 @@ private:
|
||||
|
||||
// Objetos y punteros
|
||||
SDL_Renderer *renderer; // Puntero al renderizador de la ventana
|
||||
Resource *resource; // Objeto con los recursos
|
||||
Asset *asset; // Objeto para gestionar los ficheros de recursos
|
||||
Text *text; // Texto para poder escribir los items del menu
|
||||
Input *input; // Gestor de eventos de entrada de teclado o gamepad
|
||||
Asset *asset; // Objeto para gestionar los ficheros de recursos
|
||||
|
||||
// Variables
|
||||
std::string name; // Nombre del menu
|
||||
@@ -140,7 +142,7 @@ private:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Menu(SDL_Renderer *renderer, Asset *asset, Input *input, std::string file = "");
|
||||
Menu(SDL_Renderer *renderer, Resource *resource, Asset *asset, Input *input, std::string file = "");
|
||||
|
||||
// Destructor
|
||||
~Menu();
|
||||
|
||||
@@ -12,6 +12,7 @@ Resource::Resource(SDL_Renderer *renderer, Asset *asset, options_t *options)
|
||||
// Carga todos los recursos necesarios
|
||||
void Resource::loadTextures(std::vector<std::string> list)
|
||||
{
|
||||
std::cout << "** LOAD RESOURCES" << std::endl;
|
||||
for (auto l : list)
|
||||
{
|
||||
texture_t t;
|
||||
@@ -19,6 +20,7 @@ void Resource::loadTextures(std::vector<std::string> list)
|
||||
t.texture = new Texture(renderer, asset->get(t.name));
|
||||
textures.push_back(t);
|
||||
}
|
||||
std::cout << "** RESOURCES LOADED" << std::endl;
|
||||
}
|
||||
|
||||
// Recarga las texturas
|
||||
@@ -52,6 +54,6 @@ Texture *Resource::getTexture(std::string name)
|
||||
}
|
||||
}
|
||||
|
||||
std::cout << "NO ENCONTRADA: " << name << std::endl;
|
||||
std::cout << "NOT FOUND: " << name << std::endl;
|
||||
return nullptr;
|
||||
}
|
||||
@@ -4,20 +4,22 @@
|
||||
#include <fstream>
|
||||
|
||||
// Constructor
|
||||
Text::Text(std::string bitmapFile, std::string textFile, SDL_Renderer *renderer)
|
||||
Text::Text(std::string bitmapFile, std::string textFile, Resource *resource, SDL_Renderer *renderer)
|
||||
{
|
||||
// Copia punteros
|
||||
this->resource = resource;
|
||||
|
||||
// Carga los offsets desde el fichero
|
||||
initOffsetFromFile(textFile);
|
||||
|
||||
// Crea los objetos
|
||||
texture = new Texture(renderer, bitmapFile);
|
||||
texture = resource->getTexture(bitmapFile);
|
||||
sprite = new Sprite({0, 0, boxWidth, boxHeight}, texture, renderer);
|
||||
}
|
||||
|
||||
// Destructor
|
||||
Text::~Text()
|
||||
{
|
||||
delete texture;
|
||||
delete sprite;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "sprite.h"
|
||||
#include "resource.h"
|
||||
#include "utils.h"
|
||||
|
||||
#ifndef TEXT_H
|
||||
@@ -23,8 +24,9 @@ private:
|
||||
};
|
||||
|
||||
// Objetos y punteros
|
||||
Sprite *sprite; // Objeto con los graficos para el texto
|
||||
Texture *texture; // Textura con los bitmaps del texto
|
||||
Resource *resource; // Objeto con los recursos
|
||||
Sprite *sprite; // Objeto con los graficos para el texto
|
||||
Texture *texture; // Textura con los bitmaps del texto
|
||||
|
||||
// Variables
|
||||
int boxWidth; // Anchura de la caja de cada caracter en el png
|
||||
@@ -36,7 +38,7 @@ private:
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
Text(std::string bitmapFile, std::string textFile, SDL_Renderer *renderer);
|
||||
Text(std::string bitmapFile, std::string textFile, Resource *resource, SDL_Renderer *renderer);
|
||||
|
||||
// Destructor
|
||||
~Text();
|
||||
|
||||
Reference in New Issue
Block a user