| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #include "BsCorePrerequisites.h"
- #include "BsGameObject.h"
- #include "BsGameObjectHandle.h"
- #include "BsException.h"
- #include "BsGameObject.h"
- #include "BsGameObjectHandleRTTI.h"
- namespace BansheeEngine
- {
- GameObjectHandleBase::GameObjectHandleBase(const std::shared_ptr<GameObjectHandleData>& data)
- :mData(data)
- { }
- GameObjectHandleBase::GameObjectHandleBase(const std::shared_ptr<GameObject> ptr)
- {
- mData = bs_shared_ptr_new<GameObjectHandleData>(ptr->mInstanceData);
- }
- GameObjectHandleBase::GameObjectHandleBase(std::nullptr_t ptr)
- {
- mData = bs_shared_ptr_new<GameObjectHandleData>(nullptr);
- }
- GameObjectHandleBase::GameObjectHandleBase()
- {
- mData = bs_shared_ptr_new<GameObjectHandleData>(nullptr);
- }
- void GameObjectHandleBase::_resolve(const GameObjectHandleBase& object)
- {
- mData->mPtr = object.mData->mPtr;
- }
- void GameObjectHandleBase::_setHandleData(const GameObjectPtr& object)
- {
- mData->mPtr = object->mInstanceData;
- }
- void GameObjectHandleBase::throwIfDestroyed() const
- {
- if(isDestroyed())
- {
- BS_EXCEPT(InternalErrorException, "Trying to access an object that has been destroyed.");
- }
- }
- RTTITypeBase* GameObjectHandleBase::getRTTIStatic()
- {
- return GameObjectHandleRTTI::instance();
- }
- RTTITypeBase* GameObjectHandleBase::getRTTI() const
- {
- return GameObjectHandleBase::getRTTIStatic();
- }
- }
|