gunkiss/src/Item.hpp

37 lines
1.0 KiB
C++

#ifndef Item_h_
#define Item_h_
#include <vector>
#include <string>
#include <memory>
#include <SDL.h>
#include <extension.hpp>
class Item
{
private:
std::vector<std::shared_ptr<SDL_Texture>> image_textures;
std::string brand_name = "", product_name = "", upc = "";
int current_image_index = 0;
void set_text_property(const std::string&, std::string&, const std::string&);
static void destroy_texture(SDL_Texture*);
public:
void add_image_texture(SDL_Texture*);
const std::vector<std::shared_ptr<SDL_Texture>>& get_image_textures() const;
const std::shared_ptr<SDL_Texture>& get_active_image_texture() const;
void set_brand_name(const std::string&);
const std::string& get_brand_name() const;
void set_product_name(const std::string&);
const std::string& get_product_name() const;
void set_upc(const std::string&);
const std::string& get_upc() const;
std::string get_full_name() const;
void increment_image_index(int = 1);
~Item();
};
#endif