]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resources/resources.cpp
Add keywords for light and material to Resources::Loader
[libs/gl.git] / source / resources / resources.cpp
index ec5f431ddba048cf441b2024de70fc84737b92f3..12448a901fc436ce1059b7a92bc834b57f0d6166 100644 (file)
@@ -277,14 +277,17 @@ void Resources::set_debug_name(const string &name, T &item)
 Resources::Loader::Loader(Resources &r):
        DerivedObjectLoader<Resources, Collection::Loader>(r)
 {
-       add("scene", &Loader::scene);
+       add("light", &Loader::generic<Light>);
+       add("material", &Loader::generic<Material>);
+       add("scene", &Loader::generic<Scene>);
 }
 
-void Resources::Loader::scene(const string &name)
+template<typename T>
+void Resources::Loader::generic(const string &name)
 {
-       Scene::GenericLoader ldr(obj);
+       typename T::GenericLoader ldr(obj);
        load_sub_with(ldr);
-       obj.add(name, ldr.get_object());
+       ldr.store_object(obj, name);
 }
 
 } // namespace GL