X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fmetascene.h;h=9ac90924ebb14395a89f5259600a05b41e2612af;hb=b6285d483c8b55a52b6965271a3d3163b2e2f8fa;hp=5d57ee010b156ae49ce8a740e2d50d0aae28ddf9;hpb=21f74bf587d9b7a76bc1ee83db02cb8c243dc567;p=laserbrain_demo diff --git a/src/metascene.h b/src/metascene.h index 5d57ee0..9ac9092 100644 --- a/src/metascene.h +++ b/src/metascene.h @@ -4,11 +4,11 @@ #include #include "scene.h" #include "mesh.h" +#include "datamap.h" class MetaScene { public: - SceneSet *sceneman; - TextureSet *texman; + DataMap datamap; std::vector scenes; @@ -19,7 +19,7 @@ public: std::map scndata; - MetaScene(SceneSet *sman, TextureSet *tman); + MetaScene(); ~MetaScene(); bool load(const char *fname); @@ -27,6 +27,15 @@ public: void update(float dt); void draw() const; + + /* helper functions which end up calling the corresponding Scene functions + * for every scene + */ + SceneNode *find_node(const char *name) const; + SceneNode *match_node(const char *qstr) const; + std::list match_nodes(const char *qstr) const; + + Scene *extract_nodes(const char *qstr); }; #endif // METASCENE_H_