56 lines
1.6 KiB
C++
56 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include <SDL2/SDL.h>
|
|
#include "utils.h"
|
|
#include "asset.h"
|
|
#include "const.h"
|
|
#include <string>
|
|
#include <vector>
|
|
#include <sstream>
|
|
#include <fstream>
|
|
|
|
#ifndef MAP_H
|
|
#define MAP_H
|
|
|
|
// The player
|
|
class Map
|
|
{
|
|
private:
|
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
|
std::string room_up; // Identificador de la habitación que se encuentra arriba
|
|
std::string room_down; // Identificador de la habitación que se encuentra abajp
|
|
std::string room_left; // Identificador de la habitación que se encuentra a la izquierda
|
|
std::string room_right; // Identificador de la habitación que se encuentra a la derecha
|
|
std::string tileset_img; // Imagen con los graficos para la habitación
|
|
std::string bg_img; // Imagen con los graficos para la habitación
|
|
std::vector<int> tilemap; // Indice de los tiles a dibujar en la habitación
|
|
LTexture *texture_tile; // Textura con los graficos de los tiles habitación
|
|
LTexture *texture_bg; // Textura con los graficos de fondo de la habitación
|
|
SDL_Texture *map_texture; // Textura para dibujar el mapa de la habitación
|
|
|
|
// Carga las variables desde un fichero
|
|
bool load(std::string file);
|
|
|
|
// Asigna variables a partir de dos cadenas
|
|
bool setVars(std::string var, std::string value);
|
|
|
|
// Pinta el mapa de la habitación en la textura
|
|
void fillMapTexture();
|
|
|
|
public:
|
|
// Constructor
|
|
Map(std::string file, SDL_Renderer *renderer, Asset *asset);
|
|
|
|
// Destructor
|
|
~Map();
|
|
|
|
// Actualiza todas las variables
|
|
void update();
|
|
|
|
// Dibuja el objeto
|
|
void render();
|
|
};
|
|
|
|
#endif
|