/*! \file object_manager.h \brief this manager will ceep track of the objects in the world This is specially designed to: - Give an interface to the world data - separate the world data from the world build,update,draw process - recycle deleted objects: specific for Projectils since there is a lot of world entity creation/deletion (and this needs a lot of time) - control the garbage collector */ #ifndef _OBJECT_MANAGER_H #define _OBJECT_MANAGER_H #include "base_object.h" #define OM_ class WorldEntity; template class tList; //! the object manager itself class ObjectManager : public BaseObject { public: static ObjectManager* getInstance(void); virtual ~ObjectManager(void); void preLoad(); private: ObjectManager(void); static ObjectManager* singletonRef; tList* projectileBuffer; //!< a list of projectiles that is generated at the beginning to make orx faster }; #endif /* _OBJECT_MANAGER_H */