Browse Source

Fixing an issue with prefabs where their root object would be marked as instantiated

BearishSun 9 years ago
parent
commit
63425a5d8e
1 changed files with 3 additions and 4 deletions
  1. 3 4
      Source/BansheeCore/Source/BsSceneObject.cpp

+ 3 - 4
Source/BansheeCore/Source/BsSceneObject.cpp

@@ -683,6 +683,8 @@ namespace BansheeEngine
 
 
 	HSceneObject SceneObject::clone(bool instantiate)
 	HSceneObject SceneObject::clone(bool instantiate)
 	{
 	{
+		UINT32 flags = mFlags;
+
 		if (!instantiate)
 		if (!instantiate)
 			setFlags(SOF_DontInstantiate);
 			setFlags(SOF_DontInstantiate);
 		else
 		else
@@ -697,10 +699,7 @@ namespace BansheeEngine
 		SPtr<SceneObject> cloneObj = std::static_pointer_cast<SceneObject>(serializer.decode(buffer, bufferSize));
 		SPtr<SceneObject> cloneObj = std::static_pointer_cast<SceneObject>(serializer.decode(buffer, bufferSize));
 		bs_free(buffer);
 		bs_free(buffer);
 
 
-		if (!instantiate)
-			unsetFlags(SOF_DontInstantiate);
-		else
-			setFlags(SOF_DontInstantiate);
+		mFlags = flags;
 
 
 		return cloneObj->mThisHandle;
 		return cloneObj->mThisHandle;
 	}
 	}