Trabajando en la carga de menus desde fichero

This commit is contained in:
2022-08-28 19:59:03 +02:00
parent d9cb7f68e2
commit d5a069b8db
9 changed files with 352 additions and 53 deletions

View File

@@ -4,9 +4,12 @@
#include <vector>
#include "sprite.h"
#include "text.h"
#include "asset.h"
#include "input.h"
#include "utils.h"
#include "jail_audio.h"
#include <sstream>
#include <fstream>
#ifndef MENU_H
#define MENU_H
@@ -85,10 +88,25 @@ private:
SDL_Renderer *renderer; // Puntero al renderizador de la ventana
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
color_t colorGreyed; // Color para los elementos agrisados
rectangle_t rectBG; // Rectangulo de fondo del menu
std::vector<item_t> item; // Estructura para cada elemento del menu
selector_t selector; // Variables para pintar el selector del menu
std::string font_png;
std::string font_txt;
// Carga la configuración del menu desde un archivo de texto
bool load(std::string file_path);
// Asigna variables a partir de dos cadenas
bool setVars(std::string var, std::string value);
// Asigna variables a partir de dos cadenas
bool setItem(item_t *item, std::string var, std::string value);
// Inicializa las variables
void init();
// Establece el rectangulo de fondo del menu
void setRectSize();
@@ -125,14 +143,11 @@ private:
public:
// Constructor
Menu(SDL_Renderer *renderer, Text *text, Input *input);
Menu(SDL_Renderer *renderer, Asset *asset, Input *input, std::string file="");
// Destructor
~Menu();
// Inicializador
void init(std::string name, int x, int y, int backgroundType);
// Carga los ficheros de audio
void loadAudioFile(std::string file, int sound);
@@ -192,6 +207,8 @@ public:
// Establece el estado de enlace de un item
void setLinkedDown(int index, bool value);
// hacer procedimientos para establecer el titulo, la x, la y, la tipografia y el tipo de fondo
};
#endif