CmGameObjectManager.h 528 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include "CmPrerequisites.h"
  3. #include "CmModule.h"
  4. namespace CamelotFramework
  5. {
  6. class CM_EXPORT GameObjectManager : public Module<GameObjectManager>
  7. {
  8. public:
  9. GameObjectManager();
  10. ~GameObjectManager();
  11. UINT64 registerObject(GameObject* object);
  12. void unregisterObject(GameObject* object);
  13. GameObject* getObject(UINT64 id) const;
  14. bool objectExists(UINT64 id) const;
  15. private:
  16. UINT64 mNextAvailableID; // 0 is not a valid ID
  17. Map<UINT64, GameObject*>::type mObjects;
  18. };
  19. }