CmGameObjectHandle.cpp 876 B

123456789101112131415161718192021222324252627282930313233
  1. #include "CmPrerequisites.h"
  2. #include "CmGameObject.h"
  3. #include "CmGameObjectHandle.h"
  4. #include "CmGameObjectManager.h"
  5. #include "CmException.h"
  6. namespace CamelotFramework
  7. {
  8. GameObjectHandleBase::GameObjectHandleBase(std::shared_ptr<GameObjectHandleData> data)
  9. :mData(data)
  10. { }
  11. GameObjectHandleBase::GameObjectHandleBase()
  12. { }
  13. void GameObjectHandleBase::throwIfDestroyed() const
  14. {
  15. if(isDestroyed())
  16. {
  17. CM_EXCEPT(InternalErrorException, "Trying to access an object that has been destroyed.");
  18. }
  19. }
  20. void GameObjectHandleBase::registerWithManager(const GameObjectHandleBase& object)
  21. {
  22. object.get()->mInstanceId = GameObjectManager::instance().registerObject(object);
  23. }
  24. void GameObjectHandleBase::unregisterWithManager(const GameObjectHandleBase& object)
  25. {
  26. GameObjectManager::instance().unregisterObject(object);
  27. }
  28. }