00001 #ifndef __VECTRACER_OBJECT_MANAGER_H__ 00002 #define __VECTRACER_OBJECT_MANAGER_H__ 00003 00004 #include "Common.h" 00005 #include "SelectableObject.h" 00006 #include "Track.h" 00007 #include "Visitor.h" 00008 #include <list> 00009 00010 class GameObject; 00011 00012 class ObjectManager 00013 { 00014 public: 00015 00016 ObjectManager(); 00017 ~ObjectManager(); 00018 00019 void addObject(GameObject* _val); 00020 void removeObject(GameObject* _val); 00021 00022 void update(Ogre::Real _time); 00023 00024 Track* getTrack(); 00025 Track* getIntroTrack(); 00026 00027 void setTrack(Track* _val); 00028 void setIntroTrack(Track* _val); 00029 00030 void setCraftPtr(SelectableObject* _val); 00031 SelectableObject* getCraftPtr(); 00032 protected: 00033 std::list<GameObject*> m_objects; 00034 00035 Visitor* m_renderableVisitor; 00036 00037 Track* m_track; 00038 Track* m_introTrack; 00039 00040 SelectableObject* m_craftPtr; 00041 }; 00042 00043 #endif