BsGameObject.cpp 918 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #include "BsGameObject.h"
  2. #include "BsGameObjectRTTI.h"
  3. #include "BsGameObjectManager.h"
  4. namespace BansheeEngine
  5. {
  6. GameObject::GameObject()
  7. :mIsDestroyed(false)
  8. { }
  9. GameObject::~GameObject()
  10. { }
  11. void GameObject::initialize(const std::shared_ptr<GameObject>& object, UINT64 instanceId)
  12. {
  13. mInstanceData = bs_shared_ptr<GameObjectInstanceData>();
  14. mInstanceData->object = object;
  15. mInstanceData->mInstanceId = instanceId;
  16. }
  17. void GameObject::_setInstanceData(GameObjectInstanceDataPtr& other)
  18. {
  19. GameObjectPtr myPtr = mInstanceData->object;
  20. UINT64 oldId = mInstanceData->mInstanceId;
  21. mInstanceData = other;
  22. mInstanceData->object = myPtr;
  23. GameObjectManager::instance().remapId(oldId, mInstanceData->mInstanceId);
  24. }
  25. RTTITypeBase* GameObject::getRTTIStatic()
  26. {
  27. return GameObjectRTTI::instance();
  28. }
  29. RTTITypeBase* GameObject::getRTTI() const
  30. {
  31. return GameObject::getRTTIStatic();
  32. }
  33. }