1 | //************************************ bs::framework - Copyright 2018 Marko Pintera **************************************// |
---|---|
2 | //*********** Licensed under the MIT license. See LICENSE.md for full terms. This notice is not to be removed. ***********// |
3 | #include "Scene/BsGameObject.h" |
4 | #include "Private/RTTI/BsGameObjectRTTI.h" |
5 | #include "Scene/BsGameObjectManager.h" |
6 | |
7 | namespace bs |
8 | { |
9 | void GameObject::initialize(const SPtr<GameObject>& object, UINT64 instanceId) |
10 | { |
11 | mInstanceData = bs_shared_ptr_new<GameObjectInstanceData>(); |
12 | mInstanceData->object = object; |
13 | mInstanceData->mInstanceId = instanceId; |
14 | } |
15 | |
16 | void GameObject::_setInstanceData(GameObjectInstanceDataPtr& other) |
17 | { |
18 | SPtr<GameObject> myPtr = mInstanceData->object; |
19 | UINT64 oldId = mInstanceData->mInstanceId; |
20 | |
21 | mInstanceData = other; |
22 | mInstanceData->object = myPtr; |
23 | |
24 | GameObjectManager::instance().remapId(oldId, mInstanceData->mInstanceId); |
25 | } |
26 | |
27 | RTTITypeBase* GameObject::getRTTIStatic() |
28 | { |
29 | return GameObjectRTTI::instance(); |
30 | } |
31 | |
32 | RTTITypeBase* GameObject::getRTTI() const |
33 | { |
34 | return GameObject::getRTTIStatic(); |
35 | } |
36 | } |