#pragma once #include "ifdefs.h" #include "utils.h" #include "asset.h" #include "sprite.h" #include #ifndef ITEM_H #define ITEM_H /* Un item deberia tener la siguiente informacion: POSICION INICIAL PNG ASOCIADO */ struct item_t { SDL_Renderer *renderer; // El renderizador de la ventana Asset *asset; // Objeto con la ruta a todos los ficheros de recursos std::string tileset; // Fichero con los graficos del item int x; // Posicion del item en pantalla int y; // Posicion del item en pantalla int tile; // Numero de tile dentro de la textura }; // Clase Item class Item { private: LTexture *texture; // Textura con los graficos del objeto Sprite *sprite; // Sprite del objeto SDL_Renderer *renderer; // El renderizador de la ventana Asset *asset; // Objeto con la ruta a todos los ficheros de recursos std::vector color; // Vector con los colores del objeto int counter; // Contador interno SDL_Rect collider; // Rectangulo de colisión // Comprueba si ha llegado al limite del recorrido para darse media vuelta void checkPath(); public: // Constructor Item(item_t item); // Destructor ~Item(); // Pinta el objeto en pantalla void draw(); // Actualiza las variables del objeto void update(); // Coge el item void pick(); // Obtiene el rectangulo de colision del objeto SDL_Rect &getCollider(); // Obtiene su ubicación SDL_Point getPos(); }; #endif