Loader(Resources &);
private:
- template<typename T>
+ template<typename T, typename L = typename T::GenericLoader>
void generic(const std::string &);
};
private:
+ template<typename T>
+ class GenericResourceLoader: public T::GenericLoader
+ {
+ private:
+ Resources &resources;
+
+ public:
+ GenericResourceLoader(Resources &r): T::GenericLoader(r), resources(r) { }
+
+ protected:
+ virtual void type(const DataFile::Symbol &);
+ };
+
bool srgb_conversion;
ResourceManager *resource_manager;
void set_resource_manager(ResourceManager *);
protected:
- template<typename T>
+ template<typename T, typename L = typename T::GenericLoader>
T *create_generic(const std::string &);
Mesh *create_mesh(const std::string &);
- Texture2D *create_texture2d(const std::string &);
+ Texture *create_texture(const std::string &);
Module *create_module(const std::string &);
Program *create_program(const std::string &);