Procházet zdrojové kódy

Selection from Hierarchy window now properly works after assembly refresh

BearishSun před 10 roky
rodič
revize
370a2188b5

+ 1 - 1
BansheeEditor/Source/BsGUISceneTreeView.cpp

@@ -57,7 +57,7 @@ namespace BansheeEngine
 
 	GUISceneTreeView::~GUISceneTreeView()
 	{
-		SceneTreeViewLocator::_provide(nullptr);
+		SceneTreeViewLocator::_remove(this);
 	}
 
 	GUISceneTreeView* GUISceneTreeView::create(const String& backgroundStyle, const String& elementBtnStyle, const String& foldoutBtnStyle, 

+ 12 - 0
BansheeUtility/Include/BsServiceLocator.h

@@ -34,6 +34,18 @@ namespace BansheeEngine
 			mService = service;
 		}
 
+		/**
+		 * @brief	Stops providing a service when "instance()" is called. Ignored if the current service
+		 * 			doesn't match the provided service.
+		 */
+		static void _remove(T* service)
+		{
+			if (mService != service)
+				return;
+
+			mService = nullptr;
+		}
+
 	private:
 		static T* mService;
 	};

+ 1 - 0
SBansheeEngine/Source/BsScriptObject.cpp

@@ -1,6 +1,7 @@
 #include "BsScriptObject.h"
 #include "BsScriptObjectManager.h"
 #include "BsMonoManager.h"
+#include "BsCrashHandler.h"
 #include "BsMonoField.h"
 
 namespace BansheeEngine