Explorar el Código

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

BearishSun hace 9 años
padre
commit
63425a5d8e
Se han modificado 1 ficheros con 3 adiciones y 4 borrados
  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)
 	{
+		UINT32 flags = mFlags;
+
 		if (!instantiate)
 			setFlags(SOF_DontInstantiate);
 		else
@@ -697,10 +699,7 @@ namespace BansheeEngine
 		SPtr<SceneObject> cloneObj = std::static_pointer_cast<SceneObject>(serializer.decode(buffer, bufferSize));
 		bs_free(buffer);
 
-		if (!instantiate)
-			unsetFlags(SOF_DontInstantiate);
-		else
-			setFlags(SOF_DontInstantiate);
+		mFlags = flags;
 
 		return cloneObj->mThisHandle;
 	}