CmGameObjectManager.cpp 837 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. GameObjectHandleBase 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(const GameObjectHandleBase& object)
  23. {
  24. mObjects[mNextAvailableID] = object;
  25. return mNextAvailableID++;
  26. }
  27. void GameObjectManager::unregisterObject(const GameObjectHandleBase& object)
  28. {
  29. mObjects.erase(object->getInstanceID());
  30. }
  31. }