#pragma once #include #include "common/texture.h" #include "common/animatedsprite.h" #include struct explosion_texture_t { Texture *texture; // Textura para la explosión std::vector *animation; // Animación para la textura int size; // Tamaño de la explosión }; // Clase explosions class Explosions { private: // Variables std::vector textures; // Vector con las texturas a utilizar std::vector explosions; // Lista con todas las explosiones // Vacia el vector de elementos finalizados void freeExplosions(); // Busca una textura a partir del tamaño int getIndexBySize(int size); public: // Constructor Explosions(); // Destructor ~Explosions(); // Actualiza la lógica de la clase void update(); // Dibuja el objeto en pantalla void render(); // Añade texturas al objetp void addTexture(int size, Texture *texture, std::vector *animation); // Añade una explosión void add(int x, int y, int size); };