ソースを参照

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 年 前
コミット
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())