#ifndef TEXTURES_HPP
#define TEXTURES_HPP

namespace textures
{
	class c_textures
	{
	private:
		std::unordered_map<std::string, IDirect3DTexture9*> m_memory_cache{};
		IDirect3DTexture9* create_texture_from_memory( LPDIRECT3DDEVICE9 device, LPCVOID data, UINT data_size );

	public:
		IDirect3DTexture9* get_texture_from_memory( const std::string& item_name, LPCVOID data, UINT data_size );
	};

} inline auto g_textures = std::make_shared<textures::c_textures>( );

#endif // !TEXTURES_HPP