]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resources.h
Make Scenes loadable from collection files too
[libs/gl.git] / source / resources / resources.h
index 6f04a26088b1a4d0768185440d1c1ef98ad9b850..5861bbfb41259a8a910e87f55a2ad78498706c81 100644 (file)
@@ -9,8 +9,10 @@ namespace GL {
 
 class Material;
 class Mesh;
+class Module;
 class Program;
 class ResourceManager;
+class Scene;
 class Texture2D;
 
 /**
@@ -19,6 +21,16 @@ application-specific collection.
 */
 class Resources: virtual public DataFile::Collection
 {
+public:
+       class Loader: public DataFile::DerivedObjectLoader<Resources, Collection::Loader>
+       {
+       public:
+               Loader(Resources &);
+
+       private:
+               void scene(const std::string &);
+       };
+
 private:
        TextureFilter default_tex_filter;
        float default_tex_anisotropy;
@@ -44,7 +56,9 @@ public:
 protected:
        Material *create_material(const std::string &);
        Mesh *create_mesh(const std::string &);
+       Scene *create_scene(const std::string &);
        Texture2D *create_texture2d(const std::string &);
+       Module *create_module(const std::string &);
        Program *create_program(const std::string &);
 };