2
0

BsGameObject.cpp 895 B

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