CmGameObjectManager.cpp 860 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #include "CmGameObjectManager.h"
  2. #include "CmGameObject.h"
  3. namespace CamelotFramework
  4. {
  5. GameObjectManager::GameObjectManager()
  6. :mNextAvailableID(1)
  7. {
  8. }
  9. GameObjectManager::~GameObjectManager()
  10. { }
  11. GameObject* GameObjectManager::getObject(UINT64 id) const
  12. {
  13. auto iterFind = mObjects.find(id);
  14. if(iterFind != mObjects.end())
  15. return iterFind->second;
  16. return nullptr;
  17. }
  18. bool GameObjectManager::objectExists(UINT64 id) const
  19. {
  20. return mObjects.find(id) != mObjects.end();
  21. }
  22. UINT64 GameObjectManager::registerObject(GameObject* object)
  23. {
  24. assert(object != nullptr);
  25. mObjects[mNextAvailableID] = object;
  26. return mNextAvailableID++;
  27. }
  28. void GameObjectManager::unregisterObject(GameObject* object)
  29. {
  30. assert(object != nullptr);
  31. mObjects.erase(object->getInstanceID());
  32. }
  33. }