| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #include "CmGameObjectManager.h"
- #include "CmGameObject.h"
- namespace CamelotFramework
- {
- GameObjectManager::GameObjectManager()
- :mNextAvailableID(1)
- {
- }
- GameObjectManager::~GameObjectManager()
- { }
- GameObject* GameObjectManager::getObject(UINT64 id) const
- {
- auto iterFind = mObjects.find(id);
- if(iterFind != mObjects.end())
- return iterFind->second;
-
- return nullptr;
- }
- bool GameObjectManager::objectExists(UINT64 id) const
- {
- return mObjects.find(id) != mObjects.end();
- }
- UINT64 GameObjectManager::registerObject(GameObject* object)
- {
- assert(object != nullptr);
- mObjects[mNextAvailableID] = object;
- return mNextAvailableID++;
- }
- void GameObjectManager::unregisterObject(GameObject* object)
- {
- assert(object != nullptr);
- mObjects.erase(object->getInstanceID());
- }
- }
|