X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fexman.h;h=13d9bcc0818e9a8c9bfbd1c20bae547875f665ee;hp=bbd72fde5f0ec050f63f193b29a228a381159ad1;hb=6ef619c6d92c698728576a4ec1c798a0f716d9a4;hpb=91c5d07b779f24afec373047afe401b8811811c7 diff --git a/src/exman.h b/src/exman.h index bbd72fd..13d9bcc 100644 --- a/src/exman.h +++ b/src/exman.h @@ -17,6 +17,7 @@ private: Exhibit *ex; public: + Quat rotation, grab_rot; SceneNode node; ExhibitSlot(Exhibit *ex = 0); @@ -35,9 +36,12 @@ public: class ExhibitManager { private: std::vector items, stashed; + int cur_stashed; std::vector exslots; // TODO kdtree of slots for quick nearest queries + Scene *own_scn; // scene to manage all exhibits not taken from an existing scene + public: ExhibitManager(); ~ExhibitManager(); @@ -55,6 +59,7 @@ public: ExhibitSlot *nearest_empty_slot(const Vec3 &pos, float max_dist = 10) const; void stash_exhibit(Exhibit *ex); + Exhibit *unstash_exhibit(); void update(float dt = 0.0f); void draw() const;