#pragma once #include class ImageContainer { public: bool load(const uf::stl::vector& filenames, int textureType, int mipmapFilter); void unloadAll(); bool hasMipmaps() const { return images.size() > 1; } bool hasSize(int size) const { return images.find(size) != images.end(); } const Image& getByIndex(int index, bool ascending=true) const; const Image& getBySize(int size) const { return images.at(size); } int imageCount() const { return (int)images.size(); } int width() const { return textureWidth; } int height() const { return textureHeight; } private: int textureWidth = 0; int textureHeight = 0; uf::stl::unordered_map images; uf::stl::vector keys; };