Bladeren bron

Don't immediately update GUI element mesh when localized string changes
Reversed ordering for items in ProfilerOverlay so it matches the code

Marko Pintera 12 jaren geleden
bovenliggende
commit
c8427ee1fe

+ 2 - 2
BansheeEngine/Source/BsGUIButtonBase.cpp

@@ -36,7 +36,7 @@ namespace BansheeEngine
 		mImageDesc.borderTop = mStyle->border.top;
 		mImageDesc.borderBottom = mStyle->border.bottom;
 
-		mLocStringUpdatedConn = mContent.getText().addOnStringModifiedCallback(boost::bind(&GUIButtonBase::updateRenderElementsInternal, this));
+		mLocStringUpdatedConn = mContent.getText().addOnStringModifiedCallback(boost::bind(&GUIButtonBase::markContentAsDirty, this));
 	}
 
 	GUIButtonBase::~GUIButtonBase()
@@ -53,7 +53,7 @@ namespace BansheeEngine
 	void GUIButtonBase::setContent(const GUIContent& content)
 	{
 		mLocStringUpdatedConn.disconnect();
-		mLocStringUpdatedConn = content.getText().addOnStringModifiedCallback(boost::bind(&GUIButtonBase::updateRenderElementsInternal, this));
+		mLocStringUpdatedConn = content.getText().addOnStringModifiedCallback(boost::bind(&GUIButtonBase::markContentAsDirty, this));
 
 		mContent = content;
 

+ 2 - 2
BansheeEngine/Source/BsGUILabel.cpp

@@ -22,7 +22,7 @@ namespace BansheeEngine
 		mDesc.horzAlign = mStyle->textHorzAlign;
 		mDesc.vertAlign = mStyle->textVertAlign;
 
-		mLocStringUpdatedConn = mContent.getText().addOnStringModifiedCallback(boost::bind(&GUILabel::updateRenderElementsInternal, this));
+		mLocStringUpdatedConn = mContent.getText().addOnStringModifiedCallback(boost::bind(&GUILabel::markContentAsDirty, this));
 	}
 
 	GUILabel::~GUILabel()
@@ -76,7 +76,7 @@ namespace BansheeEngine
 	void GUILabel::setContent(const GUIContent& content)
 	{
 		mLocStringUpdatedConn.disconnect();
-		mLocStringUpdatedConn = content.getText().addOnStringModifiedCallback(boost::bind(&GUILabel::updateRenderElementsInternal, this));
+		mLocStringUpdatedConn = content.getText().addOnStringModifiedCallback(boost::bind(&GUILabel::markContentAsDirty, this));
 
 		mContent = content;
 		

+ 4 - 4
BansheeEngine/Source/BsProfilerOverlay.cpp

@@ -456,9 +456,9 @@ namespace BansheeEngine
 
 				if(curEntry.depth <= MAX_DEPTH)
 				{
-					for(auto& child : curEntry.entry.childEntries)
+					for(auto iter = curEntry.entry.childEntries.rbegin(); iter != curEntry.entry.childEntries.rend(); ++iter)
 					{
-						todoBasic.push(TodoBasic(child, curEntry.depth + 1));
+						todoBasic.push(TodoBasic(*iter, curEntry.depth + 1));
 					}
 				}
 			}
@@ -486,9 +486,9 @@ namespace BansheeEngine
 
 				if(curEntry.depth <= MAX_DEPTH)
 				{
-					for(auto& child : curEntry.entry.childEntries)
+					for(auto iter = curEntry.entry.childEntries.rbegin(); iter != curEntry.entry.childEntries.rend(); ++iter)
 					{
-						todoPrecise.push(TodoPrecise(child, curEntry.depth + 1));
+						todoPrecise.push(TodoPrecise(*iter, curEntry.depth + 1));
 					}
 				}
 			}

+ 2 - 2
CamelotClient/Source/BsMainEditorWindow.cpp

@@ -5,8 +5,8 @@
 #include "BsCamera.h"
 #include "CmSceneObject.h"
 #include "CmRenderTexture.h"
-#include "CmCPUProfiler.h"
 #include "BsApplication.h"
+#include "CmProfiler.h"
 
 // DEBUG ONLY
 #include "CmTestTextSprite.h"
@@ -117,6 +117,6 @@ namespace BansheeEditor
 
 	void MainEditorWindow::update()
 	{
-		ProfilerOverlay::instance().update();
+		PROFILE_CALL(ProfilerOverlay::instance().update(), "ProfilerOverlay");
 	}
 }

+ 2 - 1
CamelotCore/Source/CmApplication.cpp

@@ -96,11 +96,12 @@ namespace CamelotFramework
 		while(mRunMainLoop)
 		{
 			gProfiler().beginThread("Sim");
-
+			
 			Platform::update();
 			DeferredCallManager::instance().update();
 			RenderWindowManager::instance().update();
 			gInput().update();
+
 			PROFILE_CALL(gSceneManager().update(), "SceneManager");
 
 			if(!mainLoopCallback.empty())