creada resource_types

This commit is contained in:
2025-11-18 13:52:41 +01:00
parent b7db34cdf7
commit 932de53609
3 changed files with 64 additions and 55 deletions

View File

@@ -8,9 +8,9 @@
#include <vector> // Para vector
#include "core/rendering/surface_moving_sprite.hpp" // Para SMovingSprite
#include "core/resources/resource_types.hpp" // Para AnimationResource
class Surface;
struct AnimationResource; // Forward declaration
class SurfaceAnimatedSprite : public SurfaceMovingSprite {
public:

View File

@@ -5,60 +5,7 @@
#include <utility>
#include <vector> // Para vector
#include "core/rendering/surface.hpp" // Para Surface
#include "core/rendering/surface_animated_sprite.hpp" // Para AnimationsFileBuffer
#include "core/rendering/text.hpp" // Para Text, TextFile
#include "game/gameplay/room.hpp" // Para room_t
struct JA_Music_t; // lines 11-11
struct JA_Sound_t; // lines 12-12
// Estructura para almacenar ficheros de sonido y su nombre
struct SoundResource {
std::string name{}; // Nombre del sonido
JA_Sound_t* sound{nullptr}; // Objeto con el sonido
};
// Estructura para almacenar ficheros musicales y su nombre
struct MusicResource {
std::string name{}; // Nombre de la musica
JA_Music_t* music{nullptr}; // Objeto con la música
};
// Estructura para almacenar objetos Surface y su nombre
struct SurfaceResource {
std::string name{}; // Nombre de la surface
std::shared_ptr<Surface> surface{}; // Objeto con la surface
};
// Estructura para almacenar objetos Palette y su nombre
struct ResourcePalette {
std::string name{}; // Nombre de la surface
Palette palette{}; // Paleta
};
// Estructura para almacenar ficheros TextFile y su nombre
struct TextFileResource {
std::string name{}; // Nombre del fichero
std::shared_ptr<Text::File> text_file{}; // Objeto con los descriptores de la fuente de texto
};
// Estructura para almacenar objetos Text y su nombre
struct TextResource {
std::string name{}; // Nombre del objeto
std::shared_ptr<Text> text{}; // Objeto
};
// Estructura para almacenar ficheros animaciones y su nombre
struct AnimationResource {
std::string name{}; // Nombre del fichero
std::vector<uint8_t> yaml_data{}; // Bytes del archivo YAML sin parsear
};
// Estructura para almacenar habitaciones y su nombre
struct RoomResource {
std::string name{}; // Nombre de la habitación
std::shared_ptr<Room::Data> room{}; // Habitación
};
#include "core/resources/resource_types.hpp" // Para structs de recursos
namespace Resource {

View File

@@ -0,0 +1,62 @@
#pragma once
#include <cstdint> // Para uint8_t
#include <memory> // Para shared_ptr
#include <string> // Para string
#include <vector> // Para vector
#include "core/rendering/surface.hpp" // Para Palette y Surface
#include "core/rendering/text.hpp" // Para Text y Text::File
#include "game/gameplay/room.hpp" // Para Room::Data
// Forward declarations
struct JA_Music_t;
struct JA_Sound_t;
// Estructura para almacenar ficheros de sonido y su nombre
struct SoundResource {
std::string name{}; // Nombre del sonido
JA_Sound_t* sound{nullptr}; // Objeto con el sonido
};
// Estructura para almacenar ficheros musicales y su nombre
struct MusicResource {
std::string name{}; // Nombre de la musica
JA_Music_t* music{nullptr}; // Objeto con la música
};
// Estructura para almacenar objetos Surface y su nombre
struct SurfaceResource {
std::string name{}; // Nombre de la surface
std::shared_ptr<Surface> surface{}; // Objeto con la surface
};
// Estructura para almacenar objetos Palette y su nombre
struct ResourcePalette {
std::string name{}; // Nombre de la surface
Palette palette{}; // Paleta
};
// Estructura para almacenar ficheros TextFile y su nombre
struct TextFileResource {
std::string name{}; // Nombre del fichero
std::shared_ptr<Text::File> text_file{}; // Objeto con los descriptores de la fuente de texto
};
// Estructura para almacenar objetos Text y su nombre
struct TextResource {
std::string name{}; // Nombre del objeto
std::shared_ptr<Text> text{}; // Objeto
};
// Estructura para almacenar ficheros animaciones y su nombre
struct AnimationResource {
std::string name{}; // Nombre del fichero
std::vector<uint8_t> yaml_data{}; // Bytes del archivo YAML sin parsear
};
// Estructura para almacenar habitaciones y su nombre
struct RoomResource {
std::string name{}; // Nombre de la habitación
std::shared_ptr<Room::Data> room{}; // Habitación
};