/*! * @file object_manager.h * @brief Definition of the ... singleton Class */ #ifndef _OBJECT_MANAGER_H #define _OBJECT_MANAGER_H #include "base_object.h" #include // FORWARD DECLARATION class PNode; class WorldEntity; class ObjectGroupList { }; //! A default singleton class. class ObjectManager : public BaseObject { public: virtual ~ObjectManager(void); /** @returns a Pointer to the only object of this Class */ inline static ObjectManager* getInstance(void) { if (!ObjectManager::singletonRef) ObjectManager::singletonRef = new ObjectManager(); return ObjectManager::singletonRef; }; static std::list* distanceFromObject(const PNode& center, float radius, ClassID classID); ObjectGroupList* getGroupList( ); private: ObjectManager(void); static ObjectManager* singletonRef; std::list groupList; const std::list* pNodeList; }; #endif /* _OBJECT_MANAGER_H */