浏览代码

Ported to VS2013 and removed boost completely

Marko Pintera 11 年之前
父节点
当前提交
8bfe4ef813
共有 100 个文件被更改,包括 358 次插入353 次删除
  1. 4 4
      BansheeEditor/Include/BsCmdReparentSO.h
  2. 2 2
      BansheeEditor/Include/BsDockManagerLayout.h
  3. 2 2
      BansheeEditor/Include/BsEditorWidgetContainer.h
  4. 3 3
      BansheeEditor/Include/BsEditorWidgetLayout.h
  5. 3 3
      BansheeEditor/Include/BsEditorWidgetManager.h
  6. 2 2
      BansheeEditor/Include/BsEditorWindowManager.h
  7. 1 1
      BansheeEditor/Include/BsGUIMenuBar.h
  8. 1 1
      BansheeEditor/Include/BsGUIResourceTreeView.h
  9. 2 2
      BansheeEditor/Include/BsGUITabbedTitleBar.h
  10. 4 4
      BansheeEditor/Include/BsGUITreeView.h
  11. 1 1
      BansheeEditor/Include/BsProjectLibrary.h
  12. 1 1
      BansheeEditor/Include/BsUndoRedo.h
  13. 2 2
      BansheeEditor/Source/BsCmdReparentSO.cpp
  14. 10 10
      BansheeEditor/Source/BsDockManager.cpp
  15. 2 2
      BansheeEditor/Source/BsDockManagerLayout.cpp
  16. 1 1
      BansheeEditor/Source/BsEditorApplication.cpp
  17. 1 1
      BansheeEditor/Source/BsEditorGUI.cpp
  18. 1 1
      BansheeEditor/Source/BsEditorWidgetContainer.cpp
  19. 5 5
      BansheeEditor/Source/BsEditorWidgetManager.cpp
  20. 2 2
      BansheeEditor/Source/BsGUIMenuBar.cpp
  21. 2 2
      BansheeEditor/Source/BsGUIResourceTreeView.cpp
  22. 2 2
      BansheeEditor/Source/BsGUISceneTreeView.cpp
  23. 2 2
      BansheeEditor/Source/BsGUITabbedTitleBar.cpp
  24. 6 6
      BansheeEditor/Source/BsGUITreeView.cpp
  25. 1 1
      BansheeEditor/Source/BsGUIWindowFrameWidget.cpp
  26. 9 9
      BansheeEditor/Source/BsProjectLibrary.cpp
  27. 1 1
      BansheeEngine/Include/BsBuiltinMaterialManager.h
  28. 2 2
      BansheeEngine/Include/BsCursor.h
  29. 11 2
      BansheeEngine/Include/BsDragAndDropManager.h
  30. 5 5
      BansheeEngine/Include/BsDrawHelper2D.h
  31. 5 5
      BansheeEngine/Include/BsDrawHelper3D.h
  32. 6 6
      BansheeEngine/Include/BsDrawHelperTemplate.h
  33. 6 6
      BansheeEngine/Include/BsGUIDropDownBox.h
  34. 2 2
      BansheeEngine/Include/BsGUIDropDownHitBox.h
  35. 1 1
      BansheeEngine/Include/BsGUIElementBase.h
  36. 4 4
      BansheeEngine/Include/BsGUIInputSelection.h
  37. 1 1
      BansheeEngine/Include/BsGUIInputTool.h
  38. 1 1
      BansheeEngine/Include/BsGUILayout.h
  39. 5 5
      BansheeEngine/Include/BsGUIListBox.h
  40. 16 16
      BansheeEngine/Include/BsGUIManager.h
  41. 2 2
      BansheeEngine/Include/BsGUIMaterialManager.h
  42. 2 2
      BansheeEngine/Include/BsGUIMenu.h
  43. 2 2
      BansheeEngine/Include/BsGUIMouseEvent.h
  44. 2 2
      BansheeEngine/Include/BsGUIOptions.h
  45. 1 1
      BansheeEngine/Include/BsGUISkin.h
  46. 1 1
      BansheeEngine/Include/BsGUIToggleGroup.h
  47. 5 5
      BansheeEngine/Include/BsGUIWidget.h
  48. 2 2
      BansheeEngine/Include/BsInputConfiguration.h
  49. 1 1
      BansheeEngine/Include/BsOverlayManager.h
  50. 1 0
      BansheeEngine/Include/BsPrerequisites.h
  51. 4 4
      BansheeEngine/Include/BsProfilerOverlay.h
  52. 3 3
      BansheeEngine/Include/BsRenderable.h
  53. 2 2
      BansheeEngine/Include/BsSceneManager.h
  54. 1 1
      BansheeEngine/Include/BsSprite.h
  55. 1 1
      BansheeEngine/Include/BsTextSprite.h
  56. 2 2
      BansheeEngine/Include/BsVirtualInput.h
  57. 1 1
      BansheeEngine/Source/BsApplication.cpp
  58. 1 1
      BansheeEngine/Source/BsBuiltinResources.cpp
  59. 3 2
      BansheeEngine/Source/BsDragAndDropManager.cpp
  60. 15 15
      BansheeEngine/Source/BsDrawHelper2D.cpp
  61. 10 10
      BansheeEngine/Source/BsDrawHelper3D.cpp
  62. 2 2
      BansheeEngine/Source/BsDrawHelperTemplate.cpp
  63. 5 5
      BansheeEngine/Source/BsGUIDropDownBox.cpp
  64. 4 4
      BansheeEngine/Source/BsGUIInputBox.cpp
  65. 2 2
      BansheeEngine/Source/BsGUIInputSelection.cpp
  66. 1 1
      BansheeEngine/Source/BsGUIInputTool.cpp
  67. 4 4
      BansheeEngine/Source/BsGUIListBox.cpp
  68. 21 21
      BansheeEngine/Source/BsGUIManager.cpp
  69. 2 2
      BansheeEngine/Source/BsGUIMenu.cpp
  70. 1 1
      BansheeEngine/Source/BsGUIMouseEvent.cpp
  71. 4 4
      BansheeEngine/Source/BsInputConfiguration.cpp
  72. 6 6
      BansheeEngine/Source/BsProfilerOverlay.cpp
  73. 4 4
      BansheeEngine/Source/BsTextSprite.cpp
  74. 7 7
      BansheeForwardRenderer/Source/BsForwardRenderer.cpp
  75. 4 4
      BansheeMono/Include/BsMonoAssembly.h
  76. 5 5
      BansheeMono/Include/BsMonoClass.h
  77. 3 3
      BansheeMono/Include/BsMonoManager.h
  78. 1 1
      BansheeMono/Source/BsMonoAssembly.cpp
  79. 1 1
      BansheeMono/Source/BsMonoClass.cpp
  80. 2 2
      BansheeMono/Source/BsMonoManager.cpp
  81. 4 4
      BansheeOctreeSM/Include/BsOctreeSceneManager.h
  82. 3 3
      BansheeOctreeSM/Source/BsOctreeSceneManager.cpp
  83. 8 8
      BoostPort.txt
  84. 1 1
      CamelotCore/Include/CmApplication.h
  85. 9 15
      CamelotCore/Include/CmCPUProfiler.h
  86. 8 8
      CamelotCore/Include/CmCommandQueue.h
  87. 1 1
      CamelotCore/Include/CmCommonEnums.h
  88. 1 1
      CamelotCore/Include/CmCoreObjectManager.h
  89. 2 2
      CamelotCore/Include/CmCoreThread.h
  90. 1 1
      CamelotCore/Include/CmDeferredCallManager.h
  91. 5 5
      CamelotCore/Include/CmFont.h
  92. 6 6
      CamelotCore/Include/CmFontDesc.h
  93. 5 5
      CamelotCore/Include/CmFontImportOptions.h
  94. 4 4
      CamelotCore/Include/CmFontImportOptionsRTTI.h
  95. 1 1
      CamelotCore/Include/CmFontManager.h
  96. 1 1
      CamelotCore/Include/CmFontRTTI.h
  97. 4 4
      CamelotCore/Include/CmGameObjectManager.h
  98. 1 1
      CamelotCore/Include/CmGpuBuffer.h
  99. 5 5
      CamelotCore/Include/CmGpuParamDesc.h
  100. 9 9
      CamelotCore/Include/CmGpuParams.h

+ 4 - 4
BansheeEditor/Include/BsCmdReparentSO.h

@@ -9,7 +9,7 @@ namespace BansheeEngine
 	class CmdReparentSO : public EditorCommand
 	class CmdReparentSO : public EditorCommand
 	{
 	{
 	public:
 	public:
-		static void execute(const Vector<HSceneObject>::type& sceneObjects, const HSceneObject& newParent);
+		static void execute(const Vector<HSceneObject>& sceneObjects, const HSceneObject& newParent);
 
 
 		void commit();
 		void commit();
 		void revert();
 		void revert();
@@ -17,10 +17,10 @@ namespace BansheeEngine
 	private:
 	private:
 		friend class UndoRedo;
 		friend class UndoRedo;
 
 
-		CmdReparentSO(const Vector<HSceneObject>::type& sceneObjects, const HSceneObject& newParent);
+		CmdReparentSO(const Vector<HSceneObject>& sceneObjects, const HSceneObject& newParent);
 
 
-		Vector<HSceneObject>::type mSceneObjects;
-		Vector<HSceneObject>::type mOldParents;
+		Vector<HSceneObject> mSceneObjects;
+		Vector<HSceneObject> mOldParents;
 		HSceneObject mNewParent;
 		HSceneObject mNewParent;
 	};
 	};
 }
 }

+ 2 - 2
BansheeEditor/Include/BsDockManagerLayout.h

@@ -16,11 +16,11 @@ namespace BansheeEngine
 			~Entry();
 			~Entry();
 
 
 			static Entry* createLeaf(Entry* parent, UINT32 childIdx, 
 			static Entry* createLeaf(Entry* parent, UINT32 childIdx, 
-				const Vector<String>::type& widgetNames);
+				const Vector<String>& widgetNames);
 			static Entry* createContainer(Entry* parent, UINT32 childIdx, float splitPosition, 
 			static Entry* createContainer(Entry* parent, UINT32 childIdx, float splitPosition, 
 				bool horizontalSplit);
 				bool horizontalSplit);
 
 
-			Vector<String>::type widgetNames;
+			Vector<String> widgetNames;
 			bool isLeaf;
 			bool isLeaf;
 			float splitPosition;
 			float splitPosition;
 			bool horizontalSplit;
 			bool horizontalSplit;

+ 2 - 2
BansheeEditor/Include/BsEditorWidgetContainer.h

@@ -25,7 +25,7 @@ namespace BansheeEngine
 		EditorWindow* getParentWindow() const { return mParentWindow; }
 		EditorWindow* getParentWindow() const { return mParentWindow; }
 
 
 		RectI getContentBounds() const;
 		RectI getContentBounds() const;
-		Vector<RectI>::type getDraggableAreas() const;
+		Vector<RectI> getDraggableAreas() const;
 
 
 		void _notifyWidgetDestroyed(EditorWidgetBase* widget);
 		void _notifyWidgetDestroyed(EditorWidgetBase* widget);
 
 
@@ -37,7 +37,7 @@ namespace BansheeEngine
 		GUIWidget* mParent;
 		GUIWidget* mParent;
 		INT32 mX, mY;
 		INT32 mX, mY;
 		UINT32 mWidth, mHeight;
 		UINT32 mWidth, mHeight;
-		UnorderedMap<UINT32, EditorWidgetBase*>::type mWidgets;
+		UnorderedMap<UINT32, EditorWidgetBase*> mWidgets;
 		INT32 mActiveWidget;
 		INT32 mActiveWidget;
 
 
 		static const UINT32 TitleBarHeight;
 		static const UINT32 TitleBarHeight;

+ 3 - 3
BansheeEditor/Include/BsEditorWidgetLayout.h

@@ -14,7 +14,7 @@ namespace BansheeEngine
 			Entry();
 			Entry();
 			~Entry();
 			~Entry();
 
 
-			Vector<String>::type widgetNames;
+			Vector<String> widgetNames;
 			bool isDocked;
 			bool isDocked;
 			INT32 x, y;
 			INT32 x, y;
 			UINT32 width, height;
 			UINT32 width, height;
@@ -27,11 +27,11 @@ namespace BansheeEngine
 		EditorWidgetLayout(const DockManagerLayoutPtr& dockLayout);
 		EditorWidgetLayout(const DockManagerLayoutPtr& dockLayout);
 		EditorWidgetLayout(const PrivatelyConstruct& dummy) { }
 		EditorWidgetLayout(const PrivatelyConstruct& dummy) { }
 
 
-		Vector<Entry>::type& getEntries() { return mEntries; }
+		Vector<Entry>& getEntries() { return mEntries; }
 		const DockManagerLayoutPtr& getDockLayout() const { return mDockLayout; }
 		const DockManagerLayoutPtr& getDockLayout() const { return mDockLayout; }
 
 
 	private:
 	private:
-		Vector<Entry>::type mEntries;
+		Vector<Entry> mEntries;
 		DockManagerLayoutPtr mDockLayout;
 		DockManagerLayoutPtr mDockLayout;
 
 
 		/************************************************************************/
 		/************************************************************************/

+ 3 - 3
BansheeEditor/Include/BsEditorWidgetManager.h

@@ -67,9 +67,9 @@ namespace BansheeEngine
 		static void preRegisterWidget(const String& name, std::function<EditorWidgetBase*(EditorWidgetContainer&)> createCallback);
 		static void preRegisterWidget(const String& name, std::function<EditorWidgetBase*(EditorWidgetContainer&)> createCallback);
 
 
 	private:
 	private:
-		Map<String, EditorWidgetBase*>::type mActiveWidgets;
-		Map<String, std::function<EditorWidgetBase*(EditorWidgetContainer&)>>::type mCreateCallbacks;
+		Map<String, EditorWidgetBase*> mActiveWidgets;
+		Map<String, std::function<EditorWidgetBase*(EditorWidgetContainer&)>> mCreateCallbacks;
 
 
-		static Stack<std::pair<String, std::function<EditorWidgetBase*(EditorWidgetContainer&)>>>::type QueuedCreateCallbacks;
+		static Stack<std::pair<String, std::function<EditorWidgetBase*(EditorWidgetContainer&)>>> QueuedCreateCallbacks;
 	};
 	};
 }
 }

+ 2 - 2
BansheeEditor/Include/BsEditorWindowManager.h

@@ -22,7 +22,7 @@ namespace BansheeEngine
 	protected:
 	protected:
 		MainEditorWindow* mMainWindow;
 		MainEditorWindow* mMainWindow;
 
 
-		Vector<EditorWindowBase*>::type mEditorWindows;
-		Vector<EditorWindowBase*>::type mScheduledForDestruction;
+		Vector<EditorWindowBase*> mEditorWindows;
+		Vector<EditorWindowBase*> mScheduledForDestruction;
 	};
 	};
 }
 }

+ 1 - 1
BansheeEditor/Include/BsGUIMenuBar.h

@@ -37,7 +37,7 @@ namespace BansheeEngine
 		GUIButton* mMaxBtn;
 		GUIButton* mMaxBtn;
 		GUIButton* mCloseBtn;
 		GUIButton* mCloseBtn;
 
 
-		Vector<GUIMenuBarData>::type mChildMenus;
+		Vector<GUIMenuBarData> mChildMenus;
 
 
 		GUIButton* mSubMenuButton;
 		GUIButton* mSubMenuButton;
 		bool mSubMenuOpen;
 		bool mSubMenuOpen;

+ 1 - 1
BansheeEditor/Include/BsGUIResourceTreeView.h

@@ -17,7 +17,7 @@ namespace BansheeEngine
 
 
 		struct DraggedResources
 		struct DraggedResources
 		{
 		{
-			Vector<String>::type resourceUUIDs;
+			Vector<String> resourceUUIDs;
 		};
 		};
 
 
 		struct InternalDraggedResources
 		struct InternalDraggedResources

+ 2 - 2
BansheeEditor/Include/BsGUITabbedTitleBar.h

@@ -27,7 +27,7 @@ namespace BansheeEngine
 		UINT32 getTabIdx(UINT32 position) const;
 		UINT32 getTabIdx(UINT32 position) const;
 		UINT32 getNumTabs() const { return (UINT32)mTabButtons.size(); }
 		UINT32 getNumTabs() const { return (UINT32)mTabButtons.size(); }
 
 
-		Vector<RectI>::type calcDraggableAreas(INT32 x, INT32 y, UINT32 width, UINT32 height) const;
+		Vector<RectI> calcDraggableAreas(INT32 x, INT32 y, UINT32 width, UINT32 height) const;
 
 
 		Event<void(UINT32)> onTabActivated;
 		Event<void(UINT32)> onTabActivated;
 		Event<void(UINT32)> onTabClosed;
 		Event<void(UINT32)> onTabClosed;
@@ -45,7 +45,7 @@ namespace BansheeEngine
 		static const UINT32 TAB_SPACING;
 		static const UINT32 TAB_SPACING;
 		static const UINT32 OPTION_BTN_SPACING;
 		static const UINT32 OPTION_BTN_SPACING;
 
 
-		Vector<GUITabButton*>::type mTabButtons;
+		Vector<GUITabButton*> mTabButtons;
 
 
 		UINT32 mUniqueTabIdx;
 		UINT32 mUniqueTabIdx;
 		UINT32 mActiveTabIdx;
 		UINT32 mActiveTabIdx;

+ 4 - 4
BansheeEditor/Include/BsGUITreeView.h

@@ -25,7 +25,7 @@ namespace BansheeEngine
 			virtual ~TreeElement();
 			virtual ~TreeElement();
 
 
 			TreeElement* mParent;
 			TreeElement* mParent;
-			Vector<TreeElement*>::type mChildren;
+			Vector<TreeElement*> mChildren;
 
 
 			GUIToggle* mFoldoutBtn;
 			GUIToggle* mFoldoutBtn;
 			GUILabel* mElement;
 			GUILabel* mElement;
@@ -96,10 +96,10 @@ namespace BansheeEngine
 
 
 		GUITexture* mBackgroundImage;
 		GUITexture* mBackgroundImage;
 
 
-		Vector<InteractableElement>::type mVisibleElements;
+		Vector<InteractableElement> mVisibleElements;
 
 
 		bool mIsElementSelected;
 		bool mIsElementSelected;
-		Vector<SelectedElement>::type mSelectedElements;
+		Vector<SelectedElement> mSelectedElements;
 
 
 		TreeElement* mEditElement;
 		TreeElement* mEditElement;
 		GUITreeViewEditBox* mNameEditBox;
 		GUITreeViewEditBox* mNameEditBox;
@@ -115,7 +115,7 @@ namespace BansheeEngine
 		ScrollState mScrollState;
 		ScrollState mScrollState;
 		float mLastScrollTime;
 		float mLastScrollTime;
 
 
-		Stack<TreeElement*>::type mAutoExpandedElements;
+		Stack<TreeElement*> mAutoExpandedElements;
 		TreeElement* mMouseOverDragElement;
 		TreeElement* mMouseOverDragElement;
 		float mMouseOverDragElementTime;
 		float mMouseOverDragElementTime;
 
 

+ 1 - 1
BansheeEditor/Include/BsProjectLibrary.h

@@ -45,7 +45,7 @@ namespace BansheeEngine
 			DirectoryEntry();
 			DirectoryEntry();
 			DirectoryEntry(const Path& path, const WString& name, DirectoryEntry* parent);
 			DirectoryEntry(const Path& path, const WString& name, DirectoryEntry* parent);
 
 
-			Vector<LibraryEntry*>::type mChildren;
+			Vector<LibraryEntry*> mChildren;
 		};
 		};
 
 
 	public:
 	public:

+ 1 - 1
BansheeEditor/Include/BsUndoRedo.h

@@ -37,7 +37,7 @@ namespace BansheeEngine
 		UINT32 mRedoStackPtr;
 		UINT32 mRedoStackPtr;
 		UINT32 mRedoNumElements;
 		UINT32 mRedoNumElements;
 
 
-		Stack<GroupData>::type mGroups;
+		Stack<GroupData> mGroups;
 
 
 		EditorCommand* removeLastFromUndoStack();
 		EditorCommand* removeLastFromUndoStack();
 		void addToUndoStack(EditorCommand* command);
 		void addToUndoStack(EditorCommand* command);

+ 2 - 2
BansheeEditor/Source/BsCmdReparentSO.cpp

@@ -3,7 +3,7 @@
 
 
 namespace BansheeEngine
 namespace BansheeEngine
 {
 {
-	CmdReparentSO::CmdReparentSO(const Vector<HSceneObject>::type& sceneObjects, const HSceneObject& newParent)
+	CmdReparentSO::CmdReparentSO(const Vector<HSceneObject>& sceneObjects, const HSceneObject& newParent)
 		:mSceneObjects(sceneObjects), mNewParent(newParent)
 		:mSceneObjects(sceneObjects), mNewParent(newParent)
 	{
 	{
 		for(auto& sceneObject : mSceneObjects)
 		for(auto& sceneObject : mSceneObjects)
@@ -12,7 +12,7 @@ namespace BansheeEngine
 		}
 		}
 	}
 	}
 
 
-	void CmdReparentSO::execute(const Vector<HSceneObject>::type& sceneObjects, const HSceneObject& newParent)
+	void CmdReparentSO::execute(const Vector<HSceneObject>& sceneObjects, const HSceneObject& newParent)
 	{
 	{
 		// Register command and commit it
 		// Register command and commit it
 		CmdReparentSO* command = new (cm_alloc<CmdReparentSO>()) CmdReparentSO(sceneObjects, newParent);
 		CmdReparentSO* command = new (cm_alloc<CmdReparentSO>()) CmdReparentSO(sceneObjects, newParent);

+ 10 - 10
BansheeEditor/Source/BsDockManager.cpp

@@ -206,7 +206,7 @@ namespace BansheeEngine
 		mChildren[idxA] = cm_new<DockContainer>(this);
 		mChildren[idxA] = cm_new<DockContainer>(this);
 		mChildren[idxB] = cm_new<DockContainer>(this);
 		mChildren[idxB] = cm_new<DockContainer>(this);
 
 
-		mWidgets->onWidgetClosed.disconnect_all_slots();
+		mWidgets->onWidgetClosed.clear();
 
 
 		mChildren[idxA]->makeLeaf(widgetParent, parentWindow);
 		mChildren[idxA]->makeLeaf(widgetParent, parentWindow);
 		mChildren[idxB]->makeLeaf(mWidgets);
 		mChildren[idxB]->makeLeaf(mWidgets);
@@ -294,7 +294,7 @@ namespace BansheeEngine
 				else
 				else
 					sibling = mParent->mChildren[0];
 					sibling = mParent->mChildren[0];
 
 
-				sibling->mWidgets->onWidgetClosed.disconnect_all_slots();
+				sibling->mWidgets->onWidgetClosed.clear();
 
 
 				mParent->makeLeaf(sibling->mWidgets);
 				mParent->makeLeaf(sibling->mWidgets);
 				sibling->mWidgets = nullptr;
 				sibling->mWidgets = nullptr;
@@ -490,7 +490,7 @@ namespace BansheeEngine
 
 
 		auto GetWidgetNamesInContainer = [&] (const DockContainer* container)
 		auto GetWidgetNamesInContainer = [&] (const DockContainer* container)
 		{
 		{
-			Vector<String>::type widgetNames;
+			Vector<String> widgetNames;
 			if(container->mWidgets != nullptr)
 			if(container->mWidgets != nullptr)
 			{
 			{
 				UINT32 numWidgets = container->mWidgets->getNumWidgets();
 				UINT32 numWidgets = container->mWidgets->getNumWidgets();
@@ -521,7 +521,7 @@ namespace BansheeEngine
 			rootEntry->parent = nullptr;
 			rootEntry->parent = nullptr;
 		}
 		}
 
 
-		Stack<StackElem>::type todo;
+		Stack<StackElem> todo;
 		todo.push(StackElem(rootEntry, &mRootContainer));
 		todo.push(StackElem(rootEntry, &mRootContainer));
 
 
 		while(!todo.empty())
 		while(!todo.empty())
@@ -538,7 +538,7 @@ namespace BansheeEngine
 
 
 					if(currentElem.container->mChildren[i]->mIsLeaf)
 					if(currentElem.container->mChildren[i]->mIsLeaf)
 					{
 					{
-						Vector<String>::type widgetNames = GetWidgetNamesInContainer(currentElem.container->mChildren[i]);
+						Vector<String> widgetNames = GetWidgetNamesInContainer(currentElem.container->mChildren[i]);
 						currentElem.layoutEntry->children[i] = 
 						currentElem.layoutEntry->children[i] = 
 							DockManagerLayout::Entry::createLeaf(currentElem.layoutEntry, i, widgetNames);
 							DockManagerLayout::Entry::createLeaf(currentElem.layoutEntry, i, widgetNames);
 					}
 					}
@@ -561,9 +561,9 @@ namespace BansheeEngine
 	void DockManager::setLayout(const DockManagerLayoutPtr& layout)
 	void DockManager::setLayout(const DockManagerLayoutPtr& layout)
 	{
 	{
 		// Undock all currently docked widgets
 		// Undock all currently docked widgets
-		Vector<EditorWidgetBase*>::type undockedWidgets;
+		Vector<EditorWidgetBase*> undockedWidgets;
 
 
-		Stack<DockContainer*>::type todo;
+		Stack<DockContainer*> todo;
 		todo.push(&mRootContainer);
 		todo.push(&mRootContainer);
 
 
 		while(!todo.empty())
 		while(!todo.empty())
@@ -617,7 +617,7 @@ namespace BansheeEngine
 			return nullptr;
 			return nullptr;
 		};
 		};
 
 
-		auto OpenWidgets = [&] (DockContainer* parent, const Vector<String>::type& widgetNames)
+		auto OpenWidgets = [&] (DockContainer* parent, const Vector<String>& widgetNames)
 		{
 		{
 			for(auto& widgetName : widgetNames)
 			for(auto& widgetName : widgetNames)
 			{
 			{
@@ -636,7 +636,7 @@ namespace BansheeEngine
 
 
 			if(!rootEntry->isLeaf)
 			if(!rootEntry->isLeaf)
 			{
 			{
-				Stack<StackEntry>::type layoutTodo;
+				Stack<StackEntry> layoutTodo;
 				layoutTodo.push(StackEntry(rootEntry, &mRootContainer));
 				layoutTodo.push(StackEntry(rootEntry, &mRootContainer));
 
 
 				while(!layoutTodo.empty())
 				while(!layoutTodo.empty())
@@ -662,7 +662,7 @@ namespace BansheeEngine
 
 
 		// Set container sizes
 		// Set container sizes
 		{
 		{
-			Stack<StackEntry>::type layoutTodo;
+			Stack<StackEntry> layoutTodo;
 			layoutTodo.push(StackEntry(rootEntry, &mRootContainer));
 			layoutTodo.push(StackEntry(rootEntry, &mRootContainer));
 
 
 			while(!layoutTodo.empty())
 			while(!layoutTodo.empty())

+ 2 - 2
BansheeEditor/Source/BsDockManagerLayout.cpp

@@ -15,7 +15,7 @@ namespace BansheeEngine
 	{ }
 	{ }
 
 
 	DockManagerLayout::Entry* DockManagerLayout::Entry::createLeaf(Entry* parent, UINT32 childIdx, 
 	DockManagerLayout::Entry* DockManagerLayout::Entry::createLeaf(Entry* parent, UINT32 childIdx, 
-		const Vector<String>::type& widgetNames)
+		const Vector<String>& widgetNames)
 	{
 	{
 		Entry* newEntry = cm_new<Entry>();
 		Entry* newEntry = cm_new<Entry>();
 		newEntry->isLeaf = true;
 		newEntry->isLeaf = true;
@@ -47,7 +47,7 @@ namespace BansheeEngine
 
 
 	DockManagerLayout::~DockManagerLayout()
 	DockManagerLayout::~DockManagerLayout()
 	{
 	{
-		Stack<Entry*>::type todo;
+		Stack<Entry*> todo;
 		if(!mRootEntry.isLeaf)
 		if(!mRootEntry.isLeaf)
 		{
 		{
 			todo.push(mRootEntry.children[0]);
 			todo.push(mRootEntry.children[0]);

+ 1 - 1
BansheeEditor/Source/BsEditorApplication.cpp

@@ -58,7 +58,7 @@ namespace BansheeEngine
 		};
 		};
 
 
 		TmpClass instance;
 		TmpClass instance;
-		TEvent<void (int)> myEvent;
+		Event<void (int)> myEvent;
 		HEvent evSomeMethod = myEvent.connect(std::bind(&TmpClass::someMEthod, instance, std::placeholders::_1));
 		HEvent evSomeMethod = myEvent.connect(std::bind(&TmpClass::someMEthod, instance, std::placeholders::_1));
 
 
 		evSomeMethod.disconnect();
 		evSomeMethod.disconnect();

+ 1 - 1
BansheeEditor/Source/BsEditorGUI.cpp

@@ -152,7 +152,7 @@ namespace BansheeEngine
 			{
 			{
 				FontImportOptions* importOptions = static_cast<FontImportOptions*>(fontImportOptions.get());
 				FontImportOptions* importOptions = static_cast<FontImportOptions*>(fontImportOptions.get());
 
 
-				Vector<BansheeEngine::UINT32>::type fontSizes;
+				Vector<BansheeEngine::UINT32> fontSizes;
 				fontSizes.push_back(DefaultFontSize);
 				fontSizes.push_back(DefaultFontSize);
 				importOptions->setFontSizes(fontSizes);
 				importOptions->setFontSizes(fontSizes);
 				importOptions->setAntialiasing(false);
 				importOptions->setAntialiasing(false);

+ 1 - 1
BansheeEditor/Source/BsEditorWidgetContainer.cpp

@@ -243,7 +243,7 @@ namespace BansheeEngine
 		return RectI(mX, mY + TitleBarHeight, mWidth, (UINT32)std::max(0, (INT32)mHeight - (INT32)TitleBarHeight));
 		return RectI(mX, mY + TitleBarHeight, mWidth, (UINT32)std::max(0, (INT32)mHeight - (INT32)TitleBarHeight));
 	}
 	}
 
 
-	Vector<RectI>::type EditorWidgetContainer::getDraggableAreas() const
+	Vector<RectI> EditorWidgetContainer::getDraggableAreas() const
 	{
 	{
 		return mTitleBar->calcDraggableAreas(mX, mY, mWidth, TitleBarHeight);
 		return mTitleBar->calcDraggableAreas(mX, mY, mWidth, TitleBarHeight);
 	}
 	}

+ 5 - 5
BansheeEditor/Source/BsEditorWidgetManager.cpp

@@ -10,7 +10,7 @@
 
 
 namespace BansheeEngine
 namespace BansheeEngine
 {
 {
-	Stack<std::pair<String, std::function<EditorWidgetBase*(EditorWidgetContainer&)>>>::type EditorWidgetManager::QueuedCreateCallbacks;
+	Stack<std::pair<String, std::function<EditorWidgetBase*(EditorWidgetContainer&)>>> EditorWidgetManager::QueuedCreateCallbacks;
 
 
 	EditorWidgetManager::EditorWidgetManager()
 	EditorWidgetManager::EditorWidgetManager()
 	{
 	{
@@ -98,7 +98,7 @@ namespace BansheeEngine
 	{
 	{
 		auto GetWidgetNamesInContainer = [&] (const EditorWidgetContainer* container)
 		auto GetWidgetNamesInContainer = [&] (const EditorWidgetContainer* container)
 		{
 		{
-			Vector<String>::type widgetNames;
+			Vector<String> widgetNames;
 			if(container != nullptr)
 			if(container != nullptr)
 			{
 			{
 				UINT32 numWidgets = container->getNumWidgets();
 				UINT32 numWidgets = container->getNumWidgets();
@@ -117,8 +117,8 @@ namespace BansheeEngine
 		DockManager& dockManager = mainWindow->getDockManager();
 		DockManager& dockManager = mainWindow->getDockManager();
 		EditorWidgetLayoutPtr layout = cm_shared_ptr<EditorWidgetLayout>(dockManager.getLayout());
 		EditorWidgetLayoutPtr layout = cm_shared_ptr<EditorWidgetLayout>(dockManager.getLayout());
 
 
-		Vector<EditorWidgetLayout::Entry>::type& layoutEntries = layout->getEntries();
-		UnorderedSet<EditorWidgetContainer*>::type widgetContainers;
+		Vector<EditorWidgetLayout::Entry>& layoutEntries = layout->getEntries();
+		UnorderedSet<EditorWidgetContainer*> widgetContainers;
 
 
 		for(auto& widget : mActiveWidgets)
 		for(auto& widget : mActiveWidgets)
 		{
 		{
@@ -153,7 +153,7 @@ namespace BansheeEngine
 	void EditorWidgetManager::setLayout(const EditorWidgetLayoutPtr& layout)
 	void EditorWidgetManager::setLayout(const EditorWidgetLayoutPtr& layout)
 	{
 	{
 		// Unparent all widgets
 		// Unparent all widgets
-		Vector<EditorWidgetBase*>::type unparentedWidgets;
+		Vector<EditorWidgetBase*> unparentedWidgets;
 		for(auto& widget : mActiveWidgets)
 		for(auto& widget : mActiveWidgets)
 		{
 		{
 			if(widget.second->_getParent() != nullptr)
 			if(widget.second->_getParent() != nullptr)

+ 2 - 2
BansheeEditor/Source/BsGUIMenuBar.cpp

@@ -215,7 +215,7 @@ namespace BansheeEngine
 
 
 	bool GUIMenuBar::stripPath(WString& path, WString& pathRoot) const
 	bool GUIMenuBar::stripPath(WString& path, WString& pathRoot) const
 	{
 	{
-		Vector<WString>::type pathElements = StringUtil::split(path, L"/");
+		Vector<WString> pathElements = StringUtil::split(path, L"/");
 		if(pathElements.size() == 0)
 		if(pathElements.size() == 0)
 			return false;
 			return false;
 
 
@@ -310,7 +310,7 @@ namespace BansheeEngine
 		// so force the update right away so we get correct element bounds
 		// so force the update right away so we get correct element bounds
 		mMainArea->_update();
 		mMainArea->_update();
 
 
-		Vector<RectI>::type nonClientAreas;
+		Vector<RectI> nonClientAreas;
 		nonClientAreas.push_back(mLogoTexture->getBounds());
 		nonClientAreas.push_back(mLogoTexture->getBounds());
 
 
 		if(mChildMenus.size() > 0)
 		if(mChildMenus.size() > 0)

+ 2 - 2
BansheeEditor/Source/BsGUIResourceTreeView.cpp

@@ -115,7 +115,7 @@ namespace BansheeEngine
 
 
 		if(libraryEntry->type == ProjectLibrary::LibraryEntryType::Directory)
 		if(libraryEntry->type == ProjectLibrary::LibraryEntryType::Directory)
 		{
 		{
-			Stack<StackElem>::type todo;
+			Stack<StackElem> todo;
 			todo.push(StackElem(libraryEntry, treeElement));
 			todo.push(StackElem(libraryEntry, treeElement));
 
 
 			while(!todo.empty())
 			while(!todo.empty())
@@ -331,7 +331,7 @@ namespace BansheeEngine
 
 
 		if(mDropTarget->getDropType() == OSDropType::FileList)
 		if(mDropTarget->getDropType() == OSDropType::FileList)
 		{
 		{
-			Vector<WString>::type fileList = mDropTarget->getFileList();
+			Vector<WString> fileList = mDropTarget->getFileList();
 
 
 			mDraggedResources = cm_new<InternalDraggedResources>((UINT32)fileList.size());
 			mDraggedResources = cm_new<InternalDraggedResources>((UINT32)fileList.size());
 			for(UINT32 i = 0; i < (UINT32)fileList.size(); i++)
 			for(UINT32 i = 0; i < (UINT32)fileList.size(); i++)

+ 2 - 2
BansheeEditor/Source/BsGUISceneTreeView.cpp

@@ -79,7 +79,7 @@ namespace BansheeEngine
 		bool needsUpdate = false;
 		bool needsUpdate = false;
 		if(!completeMatch)
 		if(!completeMatch)
 		{
 		{
-			Vector<TreeElement*>::type newChildren;
+			Vector<TreeElement*> newChildren;
 
 
 			bool* tempToDelete = (bool*)stackAlloc(sizeof(bool) * (UINT32)element->mChildren.size());
 			bool* tempToDelete = (bool*)stackAlloc(sizeof(bool) * (UINT32)element->mChildren.size());
 			for(UINT32 i = 0; i < (UINT32)element->mChildren.size(); i++)
 			for(UINT32 i = 0; i < (UINT32)element->mChildren.size(); i++)
@@ -232,7 +232,7 @@ namespace BansheeEngine
 		{
 		{
 			DraggedSceneObjects* draggedSceneObjects = reinterpret_cast<DraggedSceneObjects*>(DragAndDropManager::instance().getDragData());
 			DraggedSceneObjects* draggedSceneObjects = reinterpret_cast<DraggedSceneObjects*>(DragAndDropManager::instance().getDragData());
 
 
-			Vector<HSceneObject>::type sceneObjects;
+			Vector<HSceneObject> sceneObjects;
 			SceneTreeElement* sceneTreeElement = static_cast<SceneTreeElement*>(overTreeElement);
 			SceneTreeElement* sceneTreeElement = static_cast<SceneTreeElement*>(overTreeElement);
 			HSceneObject newParent = sceneTreeElement->mSceneObject;
 			HSceneObject newParent = sceneTreeElement->mSceneObject;
 
 

+ 2 - 2
BansheeEditor/Source/BsGUITabbedTitleBar.cpp

@@ -319,9 +319,9 @@ namespace BansheeEngine
 		}
 		}
 	}
 	}
 
 
-	Vector<RectI>::type GUITabbedTitleBar::calcDraggableAreas(INT32 x, INT32 y, UINT32 width, UINT32 height) const
+	Vector<RectI> GUITabbedTitleBar::calcDraggableAreas(INT32 x, INT32 y, UINT32 width, UINT32 height) const
 	{
 	{
-		Vector<RectI>::type draggableAreas;
+		Vector<RectI> draggableAreas;
 
 
 		UINT32 curX = x + 1;
 		UINT32 curX = x + 1;
 		UINT32 curY = y;
 		UINT32 curY = y;

+ 6 - 6
BansheeEditor/Source/BsGUITreeView.cpp

@@ -457,7 +457,7 @@ namespace BansheeEngine
 
 
 				// Ensure we don't unnecessarily try to delete children if their
 				// Ensure we don't unnecessarily try to delete children if their
 				// parent is getting deleted anyway
 				// parent is getting deleted anyway
-				Vector<TreeElement*>::type elementsToDelete;
+				Vector<TreeElement*> elementsToDelete;
 				for(UINT32 i = 0; i < (UINT32)mSelectedElements.size(); i++)
 				for(UINT32 i = 0; i < (UINT32)mSelectedElements.size(); i++)
 				{
 				{
 					bool hasDeletedParent = false;
 					bool hasDeletedParent = false;
@@ -546,7 +546,7 @@ namespace BansheeEngine
 
 
 		if(element->mParent == nullptr || (element->mParent->mIsVisible && element->mParent->mIsExpanded))
 		if(element->mParent == nullptr || (element->mParent->mIsVisible && element->mParent->mIsExpanded))
 		{
 		{
-			Stack<TreeElement*>::type todo;
+			Stack<TreeElement*> todo;
 			todo.push(element);
 			todo.push(element);
 
 
 			while(!todo.empty())
 			while(!todo.empty())
@@ -576,7 +576,7 @@ namespace BansheeEngine
 
 
 		if(element->mParent == nullptr || (element->mParent->mIsVisible && element->mParent->mIsExpanded))
 		if(element->mParent == nullptr || (element->mParent->mIsVisible && element->mParent->mIsExpanded))
 		{
 		{
-			Stack<TreeElement*>::type todo;
+			Stack<TreeElement*> todo;
 
 
 			for(auto& child : element->mChildren)
 			for(auto& child : element->mChildren)
 				todo.push(child);
 				todo.push(child);
@@ -729,7 +729,7 @@ namespace BansheeEngine
 		}
 		}
 		else
 		else
 		{
 		{
-			Stack<UpdateTreeElement>::type todo;
+			Stack<UpdateTreeElement> todo;
 			todo.push(UpdateTreeElement(&getRootElementConst(), 0));
 			todo.push(UpdateTreeElement(&getRootElementConst(), 0));
 
 
 			while(!todo.empty())
 			while(!todo.empty())
@@ -808,13 +808,13 @@ namespace BansheeEngine
 
 
 		mVisibleElements.clear();
 		mVisibleElements.clear();
 
 
-		Stack<UpdateTreeElement>::type todo;
+		Stack<UpdateTreeElement> todo;
 		todo.push(UpdateTreeElement(&getRootElement(), 0));
 		todo.push(UpdateTreeElement(&getRootElement(), 0));
 
 
 		// NOTE - Instead of iterating through all elements, try to find those within the clip rect
 		// NOTE - Instead of iterating through all elements, try to find those within the clip rect
 		// and only iterate through those. Others should somehow be marked in-active (similar to GUIElement::isDisabled()?)
 		// and only iterate through those. Others should somehow be marked in-active (similar to GUIElement::isDisabled()?)
 
 
-		Vector<TreeElement*>::type tempOrderedElements;
+		Vector<TreeElement*> tempOrderedElements;
 
 
 		Vector2I offset(x, y);
 		Vector2I offset(x, y);
 
 

+ 1 - 1
BansheeEditor/Source/BsGUIWindowFrameWidget.cpp

@@ -67,7 +67,7 @@ namespace BansheeEngine
 		UINT32 width = mWindowFrameArea->width();
 		UINT32 width = mWindowFrameArea->width();
 		UINT32 height = mWindowFrameArea->height();
 		UINT32 height = mWindowFrameArea->height();
 
 
-		Vector<NonClientResizeArea>::type nonClientAreas(8);
+		Vector<NonClientResizeArea> nonClientAreas(8);
 
 
 		nonClientAreas[0].type = NonClientAreaBorderType::TopLeft;
 		nonClientAreas[0].type = NonClientAreaBorderType::TopLeft;
 		nonClientAreas[0].area = RectI(x, y, 
 		nonClientAreas[0].area = RectI(x, y, 

+ 9 - 9
BansheeEditor/Source/BsProjectLibrary.cpp

@@ -146,13 +146,13 @@ namespace BansheeEngine
 			}
 			}
 			else
 			else
 			{
 			{
-				Stack<DirectoryEntry*>::type todo;
+				Stack<DirectoryEntry*> todo;
 				todo.push(static_cast<DirectoryEntry*>(entry));
 				todo.push(static_cast<DirectoryEntry*>(entry));
 
 
-				Vector<Path>::type childFiles;
-				Vector<Path>::type childDirectories;
-				Vector<bool>::type existingEntries;
-				Vector<LibraryEntry*>::type toDelete;
+				Vector<Path> childFiles;
+				Vector<Path> childDirectories;
+				Vector<bool> existingEntries;
+				Vector<LibraryEntry*> toDelete;
 
 
 				while(!todo.empty())
 				while(!todo.empty())
 				{
 				{
@@ -313,7 +313,7 @@ namespace BansheeEngine
 		if(directory == mRootEntry)
 		if(directory == mRootEntry)
 			mRootEntry = nullptr;
 			mRootEntry = nullptr;
 
 
-		Vector<LibraryEntry*>::type childrenToDestroy = directory->mChildren;
+		Vector<LibraryEntry*> childrenToDestroy = directory->mChildren;
 		for(auto& child : childrenToDestroy)
 		for(auto& child : childrenToDestroy)
 		{
 		{
 			if(child->type == LibraryEntryType::Directory)
 			if(child->type == LibraryEntryType::Directory)
@@ -515,7 +515,7 @@ namespace BansheeEngine
 
 
 				if(oldEntry->type == LibraryEntryType::Directory) // Update child paths
 				if(oldEntry->type == LibraryEntryType::Directory) // Update child paths
 				{
 				{
-					Stack<LibraryEntry*>::type todo;
+					Stack<LibraryEntry*> todo;
 					todo.push(oldEntry);
 					todo.push(oldEntry);
 
 
 					while(!todo.empty())
 					while(!todo.empty())
@@ -577,7 +577,7 @@ namespace BansheeEngine
 		Path parentPath = fullPath;
 		Path parentPath = fullPath;
 
 
 		DirectoryEntry* newEntryParent = nullptr;
 		DirectoryEntry* newEntryParent = nullptr;
-		Stack<Path>::type parentPaths;
+		Stack<Path> parentPaths;
 		do 
 		do 
 		{
 		{
 			Path newParentPath = parentPath.getParent();
 			Path newParentPath = parentPath.getParent();
@@ -687,7 +687,7 @@ namespace BansheeEngine
 		}
 		}
 
 
 		// Load all meta files
 		// Load all meta files
-		Stack<DirectoryEntry*>::type todo;
+		Stack<DirectoryEntry*> todo;
 		todo.push(mRootEntry);
 		todo.push(mRootEntry);
 
 
 		while(!todo.empty())
 		while(!todo.empty())

+ 1 - 1
BansheeEngine/Include/BsBuiltinMaterialManager.h

@@ -47,7 +47,7 @@ namespace BansheeEngine
 		void setActive(const String& renderSystemName);
 		void setActive(const String& renderSystemName);
 
 
 	private:
 	private:
-		UnorderedMap<String, BuiltinMaterialFactory*>::type mAvailableFactories;
+		UnorderedMap<String, BuiltinMaterialFactory*> mAvailableFactories;
 		BuiltinMaterialFactory* mActiveFactory;
 		BuiltinMaterialFactory* mActiveFactory;
 	};
 	};
 }
 }

+ 2 - 2
BansheeEngine/Include/BsCursor.h

@@ -111,8 +111,8 @@ namespace BansheeEngine
 		void clearCursorIcon(CursorType type);
 		void clearCursorIcon(CursorType type);
 
 
 	private:
 	private:
-		UnorderedMap<String, UINT32>::type mCustomIconNameToId;
-		UnorderedMap<UINT32, CustomIcon>::type mCustomIcons;
+		UnorderedMap<String, UINT32> mCustomIconNameToId;
+		UnorderedMap<UINT32, CustomIcon> mCustomIcons;
 		UINT32 mNextUniqueId;
 		UINT32 mNextUniqueId;
 		UINT32 mActiveCursorId;
 		UINT32 mActiveCursorId;
 
 

+ 11 - 2
BansheeEngine/Include/BsDragAndDropManager.h

@@ -8,6 +8,15 @@
 
 
 namespace BansheeEngine
 namespace BansheeEngine
 {
 {
+	struct BS_EXPORT DragCallbackInfo
+	{
+		DragCallbackInfo()
+		:processed(false)
+		{ }
+
+		bool processed;
+	};
+
 	class BS_EXPORT DragAndDropManager : public Module<DragAndDropManager>
 	class BS_EXPORT DragAndDropManager : public Module<DragAndDropManager>
 	{
 	{
 	public:
 	public:
@@ -40,11 +49,11 @@ namespace BansheeEngine
 		 */
 		 */
 		void update();
 		void update();
 
 
-		Event<bool(const PointerEvent&)> onDragEnded;
+		Event<void(const PointerEvent&, DragCallbackInfo&)> onDragEnded;
 	private:
 	private:
 		UINT32 mDragTypeId;
 		UINT32 mDragTypeId;
 		void* mData;
 		void* mData;
-		Vector<std::function<void(bool)>>::type mDropCallbacks;
+		Vector<std::function<void(bool)>> mDropCallbacks;
 		bool mIsDragInProgress;
 		bool mIsDragInProgress;
 		bool mNeedsValidDropTarget;
 		bool mNeedsValidDropTarget;
 
 

+ 5 - 5
BansheeEngine/Include/BsDrawHelper2D.h

@@ -81,7 +81,7 @@ namespace BansheeEngine
 		 * 			  32bit index buffer
 		 * 			  32bit index buffer
 		 * 			  Enough space for (numLines * 2) vertices and (numLines * 2) indices
 		 * 			  Enough space for (numLines * 2) vertices and (numLines * 2) indices
 		 */
 		 */
-		void lineList_Pixel(const Vector<Vector2>::type& linePoints, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset);
+		void lineList_Pixel(const Vector<Vector2>& linePoints, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset);
 
 
 		/**
 		/**
 		 * @brief	Fills the mesh data with vertices representing anti-aliased lines of specific width. Antialiasing is done using alpha blending.
 		 * @brief	Fills the mesh data with vertices representing anti-aliased lines of specific width. Antialiasing is done using alpha blending.
@@ -100,16 +100,16 @@ namespace BansheeEngine
 		 * 			  32bit index buffer
 		 * 			  32bit index buffer
 		 *			  Enough space for (numLines * 8) vertices and (numLines * 30) indices
 		 *			  Enough space for (numLines * 8) vertices and (numLines * 30) indices
 		 */
 		 */
-		void lineList_AA(const Vector<Vector2>::type& linePoints, float width, float borderWidth, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset);
+		void lineList_AA(const Vector<Vector2>& linePoints, float width, float borderWidth, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset);
 
 
 		void drawQuad(const HCamera& camera, const RectF& area, const Color& color = Color::White, DebugDrawCoordType coordType = DebugDrawCoordType::Pixel, float timeout = 0.0f);
 		void drawQuad(const HCamera& camera, const RectF& area, const Color& color = Color::White, DebugDrawCoordType coordType = DebugDrawCoordType::Pixel, float timeout = 0.0f);
 		void drawLine_Pixel(const HCamera& camera, const Vector2& a, const Vector2& b, const Color& color = Color::White, 
 		void drawLine_Pixel(const HCamera& camera, const Vector2& a, const Vector2& b, const Color& color = Color::White, 
 			DebugDrawCoordType coordType = DebugDrawCoordType::Pixel, float timeout = 0.0f);
 			DebugDrawCoordType coordType = DebugDrawCoordType::Pixel, float timeout = 0.0f);
 		void drawLine_AA(const HCamera& camera, const Vector2& a, const Vector2& b, float width, float borderWidth, 
 		void drawLine_AA(const HCamera& camera, const Vector2& a, const Vector2& b, float width, float borderWidth, 
 			const Color& color = Color::White, DebugDrawCoordType coordType = DebugDrawCoordType::Pixel, float timeout = 0.0f);
 			const Color& color = Color::White, DebugDrawCoordType coordType = DebugDrawCoordType::Pixel, float timeout = 0.0f);
-		void drawLineList_Pixel(const HCamera& camera, const Vector<Vector2>::type& linePoints, const Color& color = Color::White, 
+		void drawLineList_Pixel(const HCamera& camera, const Vector<Vector2>& linePoints, const Color& color = Color::White, 
 			DebugDrawCoordType coordType = DebugDrawCoordType::Pixel, float timeout = 0.0f);
 			DebugDrawCoordType coordType = DebugDrawCoordType::Pixel, float timeout = 0.0f);
-		void drawLineList_AA(const HCamera& camera, const Vector<Vector2>::type& linePoints, float width, float borderWidth, 
+		void drawLineList_AA(const HCamera& camera, const Vector<Vector2>& linePoints, float width, float borderWidth, 
 			const Color& color = Color::White, DebugDrawCoordType coordType = DebugDrawCoordType::Pixel, float timeout = 0.0f);
 			const Color& color = Color::White, DebugDrawCoordType coordType = DebugDrawCoordType::Pixel, float timeout = 0.0f);
 
 
 	private:
 	private:
@@ -124,7 +124,7 @@ namespace BansheeEngine
 		void line_AA(const Vector2& a, const Vector2& b, float width, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 		void line_AA(const Vector2& a, const Vector2& b, float width, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset);
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset);
 
 
-		void polygon_AA(const Vector<Vector2>::type& points, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
+		void polygon_AA(const Vector<Vector2>& points, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset);
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset);
 	};
 	};
 }
 }

+ 5 - 5
BansheeEngine/Include/BsDrawHelper3D.h

@@ -82,7 +82,7 @@ namespace BansheeEngine
 		 * 			  32bit index buffer
 		 * 			  32bit index buffer
 		 * 			  Enough space for (numLines * 2) vertices and (numLines * 2) indices
 		 * 			  Enough space for (numLines * 2) vertices and (numLines * 2) indices
 		 */
 		 */
-		void lineList_Pixel(const Vector<Vector3>::type& linePoints, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset);
+		void lineList_Pixel(const Vector<Vector3>& linePoints, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset);
 
 
 		/**
 		/**
 		 * @brief	Fills the mesh data with vertices representing anti-aliased lines of specific width. Antialiasing is done using alpha blending.
 		 * @brief	Fills the mesh data with vertices representing anti-aliased lines of specific width. Antialiasing is done using alpha blending.
@@ -101,13 +101,13 @@ namespace BansheeEngine
 		 * 			  32bit index buffer
 		 * 			  32bit index buffer
 		 *			  Enough space for (numLines * 8) vertices and (numLines * 30) indices
 		 *			  Enough space for (numLines * 8) vertices and (numLines * 30) indices
 		 */
 		 */
-		void lineList_AA(const Vector<Vector3>::type& linePoints, float width, float borderWidth, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset);
+		void lineList_AA(const Vector<Vector3>& linePoints, float width, float borderWidth, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset);
 
 
 		void drawLine_Pixel(const HCamera& camera, const Vector3& a, const Vector3& b, const Color& color = Color::White, float timeout = 0.0f);
 		void drawLine_Pixel(const HCamera& camera, const Vector3& a, const Vector3& b, const Color& color = Color::White, float timeout = 0.0f);
 		void drawLine_AA(const HCamera& camera, const Vector3& a, const Vector3& b, float width, float borderWidth, 
 		void drawLine_AA(const HCamera& camera, const Vector3& a, const Vector3& b, float width, float borderWidth, 
 			const Color& color = Color::White, float timeout = 0.0f);
 			const Color& color = Color::White, float timeout = 0.0f);
-		void drawLineList_Pixel(const HCamera& camera, const Vector<Vector3>::type& linePoints, const Color& color = Color::White, float timeout = 0.0f);
-		void drawLineList_AA(const HCamera& camera, const Vector<Vector3>::type& linePoints, float width, float borderWidth, 
+		void drawLineList_Pixel(const HCamera& camera, const Vector<Vector3>& linePoints, const Color& color = Color::White, float timeout = 0.0f);
+		void drawLineList_AA(const HCamera& camera, const Vector<Vector3>& linePoints, float width, float borderWidth, 
 			const Color& color = Color::White, float timeout = 0.0f);
 			const Color& color = Color::White, float timeout = 0.0f);
 
 
 		void drawAABox(const HCamera& camera, const AABox& box, const Color& color = Color::White, float timeout = 0.0f);
 		void drawAABox(const HCamera& camera, const AABox& box, const Color& color = Color::White, float timeout = 0.0f);
@@ -121,7 +121,7 @@ namespace BansheeEngine
 		void line_AA(const Vector3& a, const Vector3& b, float width, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 		void line_AA(const Vector3& a, const Vector3& b, float width, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset);
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset);
 
 
-		void polygon_AA(const Vector<Vector3>::type& points, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
+		void polygon_AA(const Vector<Vector3>& points, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset);
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset);
 
 
 		void aabox(const AABox& box, UINT8* outVertices, UINT32 vertexOffset, UINT32 vertexStride, 
 		void aabox(const AABox& box, UINT8* outVertices, UINT32 vertexOffset, UINT32 vertexStride, 

+ 6 - 6
BansheeEngine/Include/BsDrawHelperTemplate.h

@@ -46,7 +46,7 @@ namespace BansheeEngine
 		void render(const HCamera& camera, RenderQueue& renderQueue);
 		void render(const HCamera& camera, RenderQueue& renderQueue);
 
 
 	protected:
 	protected:
-		UnorderedMap<const Viewport*, Vector<DebugDrawCommand>::type>::type mCommandsPerViewport;
+		UnorderedMap<const Viewport*, Vector<DebugDrawCommand>> mCommandsPerViewport;
 	};
 	};
 
 
 	template <class T>
 	template <class T>
@@ -77,7 +77,7 @@ namespace BansheeEngine
 			line_AA(a, b, width, borderWidth, color, positionData, colorData, vertexOffset, meshData->getVertexDesc()->getVertexStride(), indexData, indexOffset);
 			line_AA(a, b, width, borderWidth, color, positionData, colorData, vertexOffset, meshData->getVertexDesc()->getVertexStride(), indexData, indexOffset);
 		}
 		}
 
 
-		void lineList_Pixel(const typename Vector<T>::type& linePoints, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
+		void lineList_Pixel(const typename Vector<T>& linePoints, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
 		{
 		{
 			assert(linePoints.size() % 2 == 0);
 			assert(linePoints.size() % 2 == 0);
 
 
@@ -101,7 +101,7 @@ namespace BansheeEngine
 			}
 			}
 		}
 		}
 
 
-		void lineList_AA(const typename Vector<T>::type& linePoints, float width, float borderWidth, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
+		void lineList_AA(const typename Vector<T>& linePoints, float width, float borderWidth, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
 		{
 		{
 			assert(linePoints.size() % 2 == 0);
 			assert(linePoints.size() % 2 == 0);
 
 
@@ -151,10 +151,10 @@ namespace BansheeEngine
 		virtual void line_AA(const T& a, const T& b, float width, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 		virtual void line_AA(const T& a, const T& b, float width, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset) = 0;
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset) = 0;
 
 
-		virtual void polygon_AA(const typename Vector<T>::type& points, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
+		virtual void polygon_AA(const typename Vector<T>& points, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset) = 0;
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset) = 0;
 
 
-		void polygonFill_Pixel(const typename Vector<T>::type& points, UINT8* outVertices, 
+		void polygonFill_Pixel(const typename Vector<T>& points, UINT8* outVertices, 
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset)
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset)
 		{
 		{
 			outVertices += (vertexOffset * vertexStride);
 			outVertices += (vertexOffset * vertexStride);
@@ -178,7 +178,7 @@ namespace BansheeEngine
 			}
 			}
 		}
 		}
 
 
-		void polygonBorder_Pixel(const typename Vector<T>::type& points, const Color& color, UINT8* outVertices, UINT8* outColors, 
+		void polygonBorder_Pixel(const typename Vector<T>& points, const Color& color, UINT8* outVertices, UINT8* outColors, 
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset)
 			UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset)
 		{
 		{
 			INT32 numPoints = (INT32)points.size();
 			INT32 numPoints = (INT32)points.size();

+ 6 - 6
BansheeEngine/Include/BsGUIDropDownBox.h

@@ -9,8 +9,8 @@ namespace BansheeEngine
 {
 {
 	struct BS_EXPORT GUIDropDownData
 	struct BS_EXPORT GUIDropDownData
 	{
 	{
-		Vector<GUIDropDownDataEntry>::type entries;
-		UnorderedMap<WString, HString>::type localizedNames;
+		Vector<GUIDropDownDataEntry> entries;
+		UnorderedMap<WString, HString> localizedNames;
 	};
 	};
 
 
 	class BS_EXPORT GUIDropDownDataEntry
 	class BS_EXPORT GUIDropDownDataEntry
@@ -126,9 +126,9 @@ namespace BansheeEngine
 			UINT32 mDepthOffset;
 			UINT32 mDepthOffset;
 			bool mOpenedUpward;
 			bool mOpenedUpward;
 
 
-			Vector<GUITexture*>::type mCachedSeparators;
-			Vector<GUIButton*>::type mCachedEntryBtns;
-			Vector<GUIButton*>::type mCachedExpEntryBtns;
+			Vector<GUITexture*> mCachedSeparators;
+			Vector<GUIButton*> mCachedEntryBtns;
+			Vector<GUIButton*> mCachedExpEntryBtns;
 			GUIButton* mScrollUpBtn;
 			GUIButton* mScrollUpBtn;
 			GUIButton* mScrollDownBtn;
 			GUIButton* mScrollDownBtn;
 			GUITexture* mBackgroundFrame;
 			GUITexture* mBackgroundFrame;
@@ -177,7 +177,7 @@ namespace BansheeEngine
 		// the drop down to lose focus and close, but if the button still processes the mouse click it will be immediately opened again)
 		// the drop down to lose focus and close, but if the button still processes the mouse click it will be immediately opened again)
 		GUIDropDownHitBox* mCaptureHitBox; 
 		GUIDropDownHitBox* mCaptureHitBox; 
 
 
-		UnorderedMap<WString, HString>::type mLocalizedEntryNames;
+		UnorderedMap<WString, HString> mLocalizedEntryNames;
 
 
 		void notifySubMenuOpened(DropDownSubMenu* subMenu);
 		void notifySubMenuOpened(DropDownSubMenu* subMenu);
 		void notifySubMenuClosed(DropDownSubMenu* subMenu);
 		void notifySubMenuClosed(DropDownSubMenu* subMenu);

+ 2 - 2
BansheeEngine/Include/BsGUIDropDownHitBox.h

@@ -14,7 +14,7 @@ namespace BansheeEngine
 		static GUIDropDownHitBox* create(bool captureMouse, const GUIOptions& layoutOptions);
 		static GUIDropDownHitBox* create(bool captureMouse, const GUIOptions& layoutOptions);
 
 
 		void setBounds(const RectI& bounds) { mBounds.clear(); mBounds.push_back(bounds); }
 		void setBounds(const RectI& bounds) { mBounds.clear(); mBounds.push_back(bounds); }
-		void setBounds(const Vector<RectI>::type& bounds) { mBounds = bounds; }
+		void setBounds(const Vector<RectI>& bounds) { mBounds = bounds; }
 
 
 		Event<void()> onFocusLost;
 		Event<void()> onFocusLost;
 		Event<void()> onFocusGained;
 		Event<void()> onFocusGained;
@@ -26,7 +26,7 @@ namespace BansheeEngine
 		virtual bool mouseEvent(const GUIMouseEvent& ev);
 		virtual bool mouseEvent(const GUIMouseEvent& ev);
 		virtual bool _isInBounds(const Vector2I position) const;
 		virtual bool _isInBounds(const Vector2I position) const;
 
 
-		Vector<RectI>::type mBounds;
+		Vector<RectI> mBounds;
 		bool mCaptureMouse;
 		bool mCaptureMouse;
 	};
 	};
 }
 }

+ 1 - 1
BansheeEngine/Include/BsGUIElementBase.h

@@ -86,7 +86,7 @@ namespace BansheeEngine
 
 
 		GUIWidget* mParentWidget;
 		GUIWidget* mParentWidget;
 		GUIElementBase* mParentElement;
 		GUIElementBase* mParentElement;
-		Vector<GUIElementBase*>::type mChildren;	
+		Vector<GUIElementBase*> mChildren;	
 		UINT8 mIsDirty;
 		UINT8 mIsDirty;
 		bool mIsDisabled;
 		bool mIsDisabled;
 	};
 	};

+ 4 - 4
BansheeEngine/Include/BsGUIInputSelection.h

@@ -12,7 +12,7 @@ namespace BansheeEngine
 		GUIInputSelection();
 		GUIInputSelection();
 		~GUIInputSelection();
 		~GUIInputSelection();
 
 
-		const Vector<ImageSprite*>::type& getSprites() const { return mSprites; }
+		const Vector<ImageSprite*>& getSprites() const { return mSprites; }
 		Vector2I GUIInputSelection::getSelectionSpriteOffset(UINT32 spriteIdx) const;
 		Vector2I GUIInputSelection::getSelectionSpriteOffset(UINT32 spriteIdx) const;
 		RectI GUIInputSelection::getSelectionSpriteClipRect(UINT32 spriteIdx, const RectI& parentClipRect) const;
 		RectI GUIInputSelection::getSelectionSpriteClipRect(UINT32 spriteIdx, const RectI& parentClipRect) const;
 		void updateSprite();
 		void updateSprite();
@@ -37,9 +37,9 @@ namespace BansheeEngine
 		UINT32 mSelectionAnchor;
 		UINT32 mSelectionAnchor;
 		UINT32 mSelectionDragAnchor;
 		UINT32 mSelectionDragAnchor;
 
 
-		Vector<RectI>::type mSelectionRects;
-		Vector<ImageSprite*>::type mSprites;
+		Vector<RectI> mSelectionRects;
+		Vector<ImageSprite*> mSprites;
 
 
-		Vector<RectI>::type getSelectionRects() const;
+		Vector<RectI> getSelectionRects() const;
 	};
 	};
 }
 }

+ 1 - 1
BansheeEngine/Include/BsGUIInputTool.h

@@ -40,7 +40,7 @@ namespace BansheeEngine
 
 
 		TEXT_SPRITE_DESC mTextDesc;
 		TEXT_SPRITE_DESC mTextDesc;
 
 
-		Vector<GUIInputLineDesc>::type mLineDescs;
+		Vector<GUIInputLineDesc> mLineDescs;
 
 
 		Vector2I getTextOffset() const;
 		Vector2I getTextOffset() const;
 
 

+ 1 - 1
BansheeEngine/Include/BsGUILayout.h

@@ -57,7 +57,7 @@ namespace BansheeEngine
 		 */
 		 */
 		UINT32 _getActualHeight() const { return mActualHeight; }
 		UINT32 _getActualHeight() const { return mActualHeight; }
 	protected:
 	protected:
-		Vector<Vector2I>::type mOptimalSizes;
+		Vector<Vector2I> mOptimalSizes;
 		UINT32 mOptimalWidth;
 		UINT32 mOptimalWidth;
 		UINT32 mOptimalHeight;
 		UINT32 mOptimalHeight;
 
 

+ 5 - 5
BansheeEngine/Include/BsGUIListBox.h

@@ -13,10 +13,10 @@ namespace BansheeEngine
 	public:
 	public:
 		static const String& getGUITypeName();
 		static const String& getGUITypeName();
 
 
-		static GUIListBox* create(const Vector<HString>::type& elements, const String& styleName = StringUtil::BLANK);
-		static GUIListBox* create(const Vector<HString>::type& elements, const GUIOptions& layoutOptions, const String& styleName = StringUtil::BLANK);
+		static GUIListBox* create(const Vector<HString>& elements, const String& styleName = StringUtil::BLANK);
+		static GUIListBox* create(const Vector<HString>& elements, const GUIOptions& layoutOptions, const String& styleName = StringUtil::BLANK);
 
 
-		void setElements(const Vector<HString>::type& elements);
+		void setElements(const Vector<HString>& elements);
 
 
 		virtual ElementType getElementType() const { return ElementType::ListBox; }
 		virtual ElementType getElementType() const { return ElementType::ListBox; }
 
 
@@ -26,10 +26,10 @@ namespace BansheeEngine
 
 
 	private:
 	private:
 		UINT32 mSelectedIdx;
 		UINT32 mSelectedIdx;
-		Vector<HString>::type mElements;
+		Vector<HString> mElements;
 		bool mIsListBoxOpen;
 		bool mIsListBoxOpen;
 
 
-		GUIListBox(const String& styleName, const Vector<HString>::type& elements, const GUILayoutOptions& layoutOptions);
+		GUIListBox(const String& styleName, const Vector<HString>& elements, const GUILayoutOptions& layoutOptions);
 
 
 		virtual bool mouseEvent(const GUIMouseEvent& ev);
 		virtual bool mouseEvent(const GUIMouseEvent& ev);
 
 

+ 16 - 16
BansheeEngine/Include/BsGUIManager.h

@@ -41,10 +41,10 @@ namespace BansheeEngine
 				:isDirty(true)
 				:isDirty(true)
 			{ }
 			{ }
 
 
-			Vector<TransientMeshPtr>::type cachedMeshes;
-			Vector<GUIMaterialInfo>::type cachedMaterials;
-			Vector<GUIWidget*>::type cachedWidgetsPerMesh;
-			Vector<GUIWidget*>::type widgets;
+			Vector<TransientMeshPtr> cachedMeshes;
+			Vector<GUIMaterialInfo> cachedMaterials;
+			Vector<GUIWidget*> cachedWidgetsPerMesh;
+			Vector<GUIWidget*> widgets;
 			bool isDirty;
 			bool isDirty;
 		};
 		};
 
 
@@ -120,28 +120,28 @@ namespace BansheeEngine
 		static const UINT32 MESH_HEAP_INITIAL_NUM_VERTS;
 		static const UINT32 MESH_HEAP_INITIAL_NUM_VERTS;
 		static const UINT32 MESH_HEAP_INITIAL_NUM_INDICES;
 		static const UINT32 MESH_HEAP_INITIAL_NUM_INDICES;
 
 
-		Vector<WidgetInfo>::type mWidgets;
-		UnorderedMap<const Viewport*, GUIRenderData>::type mCachedGUIData;
+		Vector<WidgetInfo> mWidgets;
+		UnorderedMap<const Viewport*, GUIRenderData> mCachedGUIData;
 		MeshHeapPtr mMeshHeap;
 		MeshHeapPtr mMeshHeap;
 
 
 		VertexDataDescPtr mVertexDesc;
 		VertexDataDescPtr mVertexDesc;
 
 
-		Stack<GUIElement*>::type mScheduledForDestruction;
+		Stack<GUIElement*> mScheduledForDestruction;
 
 
 		// Element and widget pointer is currently over
 		// Element and widget pointer is currently over
-		Vector<ElementInfo>::type mElementsUnderPointer;
-		Vector<ElementInfo>::type mNewElementsUnderPointer;
+		Vector<ElementInfo> mElementsUnderPointer;
+		Vector<ElementInfo> mNewElementsUnderPointer;
 
 
 		// Element and widget that's being clicked on
 		// Element and widget that's being clicked on
 		GUIMouseButton mActiveMouseButton;
 		GUIMouseButton mActiveMouseButton;
-		Vector<ElementInfo>::type mActiveElements;
-		Vector<ElementInfo>::type mNewActiveElements;
+		Vector<ElementInfo> mActiveElements;
+		Vector<ElementInfo> mNewActiveElements;
 
 
 		// Element and widget that currently have the keyboard focus
 		// Element and widget that currently have the keyboard focus
-		Vector<ElementInfo>::type mElementsInFocus;
-		Vector<ElementInfo>::type mNewElementsInFocus;
+		Vector<ElementInfo> mElementsInFocus;
+		Vector<ElementInfo> mNewElementsInFocus;
 
 
-		Vector<ElementFocusInfo>::type mForcedFocusElements;
+		Vector<ElementFocusInfo> mForcedFocusElements;
 
 
 		GUIInputCaret* mInputCaret;
 		GUIInputCaret* mInputCaret;
 		GUIInputSelection* mInputSelection;
 		GUIInputSelection* mInputSelection;
@@ -167,7 +167,7 @@ namespace BansheeEngine
 		HSpriteTexture mTextSelectionTexture;
 		HSpriteTexture mTextSelectionTexture;
 		Color mTextSelectionColor;
 		Color mTextSelectionColor;
 
 
-		Map<const RenderTexture*, const GUIElement*>::type mInputBridge;
+		Map<const RenderTexture*, const GUIElement*> mInputBridge;
 
 
 		HEvent mOnPointerMovedConn;
 		HEvent mOnPointerMovedConn;
 		HEvent mOnPointerPressedConn;
 		HEvent mOnPointerPressedConn;
@@ -199,7 +199,7 @@ namespace BansheeEngine
 		void onInputCommandEntered(InputCommandType commandType);
 		void onInputCommandEntered(InputCommandType commandType);
 		void onVirtualButtonDown(const VirtualButton& button);
 		void onVirtualButtonDown(const VirtualButton& button);
 
 
-		bool onMouseDragEnded(const PointerEvent& event);
+		void onMouseDragEnded(const PointerEvent& event, DragCallbackInfo& dragInfo);
 
 
 		void onWindowFocusGained(RenderWindow& win);
 		void onWindowFocusGained(RenderWindow& win);
 		void onWindowFocusLost(RenderWindow& win);
 		void onWindowFocusLost(RenderWindow& win);

+ 2 - 2
BansheeEngine/Include/BsGUIMaterialManager.h

@@ -54,7 +54,7 @@ namespace BansheeEngine
 			UINT32 refCount;
 			UINT32 refCount;
 		};
 		};
 
 
-		mutable Vector<GUIMaterial>::type mTextMaterials;
-		mutable Vector<GUIMaterial>::type mImageMaterials;
+		mutable Vector<GUIMaterial> mTextMaterials;
+		mutable Vector<GUIMaterial> mImageMaterials;
 	};
 	};
 }
 }

+ 2 - 2
BansheeEngine/Include/BsGUIMenu.h

@@ -30,7 +30,7 @@ namespace BansheeEngine
 		bool mIsSeparator;
 		bool mIsSeparator;
 		WString mName;
 		WString mName;
 		std::function<void()> mCallback;
 		std::function<void()> mCallback;
-		Vector<GUIMenuItem*>::type mChildren;
+		Vector<GUIMenuItem*> mChildren;
 
 
 		GUIMenuItem* findChild(const WString& name);
 		GUIMenuItem* findChild(const WString& name);
 	};
 	};
@@ -60,7 +60,7 @@ namespace BansheeEngine
 		void setLocalizedName(const WString& menuItemLabel, const HString& localizedName);
 		void setLocalizedName(const WString& menuItemLabel, const HString& localizedName);
 	protected:
 	protected:
 		GUIMenuItem mRootElement;
 		GUIMenuItem mRootElement;
-		UnorderedMap<WString, HString>::type mLocalizedEntryNames;
+		UnorderedMap<WString, HString> mLocalizedEntryNames;
 
 
 		const GUIMenuItem* addMenuItemInternal(const WString& path, std::function<void()> callback, bool isSeparator);
 		const GUIMenuItem* addMenuItemInternal(const WString& path, std::function<void()> callback, bool isSeparator);
 		GUIDropDownData getDropDownDataInternal(const GUIMenuItem& menu) const;
 		GUIDropDownData getDropDownDataInternal(const GUIMenuItem& menu) const;

+ 2 - 2
BansheeEngine/Include/BsGUIMouseEvent.h

@@ -30,7 +30,7 @@ namespace BansheeEngine
 	{
 	{
 	public:
 	public:
 		GUIMouseEvent();
 		GUIMouseEvent();
-		GUIMouseEvent(bool buttonStates[GUIMouseButton::Count], bool shift, bool ctrl, bool alt);
+		GUIMouseEvent(bool buttonStates[(int)GUIMouseButton::Count], bool shift, bool ctrl, bool alt);
 
 
 		const Vector2I& getPosition() const { return mPosition; }
 		const Vector2I& getPosition() const { return mPosition; }
 		GUIMouseEventType getType() const { return mType; }
 		GUIMouseEventType getType() const { return mType; }
@@ -47,7 +47,7 @@ namespace BansheeEngine
 	private:
 	private:
 		friend class GUIManager;
 		friend class GUIManager;
 
 
-		bool mButtonStates[GUIMouseButton::Count];
+		bool mButtonStates[(int)GUIMouseButton::Count];
 		Vector2I mPosition;
 		Vector2I mPosition;
 		Vector2I mDragAmount;
 		Vector2I mDragAmount;
 		float mWheelScrollAmount;
 		float mWheelScrollAmount;

+ 2 - 2
BansheeEngine/Include/BsGUIOptions.h

@@ -63,7 +63,7 @@ namespace BansheeEngine
 		}
 		}
 
 
 		GUIOptions(const GUIOption& e0, const GUIOption& e1, const GUIOption& e2,
 		GUIOptions(const GUIOption& e0, const GUIOption& e1, const GUIOption& e2,
-			const GUIOption& e4)
+			const GUIOption& e3, const GUIOption& e4)
 		{
 		{
 			mOptions.push_back(e0);
 			mOptions.push_back(e0);
 			mOptions.push_back(e1);
 			mOptions.push_back(e1);
@@ -80,6 +80,6 @@ namespace BansheeEngine
 	private:
 	private:
 		friend struct GUILayoutOptions;
 		friend struct GUILayoutOptions;
 
 
-		Vector<GUIOption>::type mOptions;
+		Vector<GUIOption> mOptions;
 	};
 	};
 }
 }

+ 1 - 1
BansheeEngine/Include/BsGUISkin.h

@@ -16,7 +16,7 @@ namespace BansheeEngine
 		void setStyle(const String& guiElemType, const GUIElementStyle& style);
 		void setStyle(const String& guiElemType, const GUIElementStyle& style);
 
 
 	private:
 	private:
-		UnorderedMap<String, GUIElementStyle>::type mStyles;
+		UnorderedMap<String, GUIElementStyle> mStyles;
 
 
 		GUISkin(const GUISkin& skin) {} // Disable copying
 		GUISkin(const GUISkin& skin) {} // Disable copying
 	};
 	};

+ 1 - 1
BansheeEngine/Include/BsGUIToggleGroup.h

@@ -19,7 +19,7 @@ namespace BansheeEngine
 
 
 		void initialize(const std::shared_ptr<GUIToggleGroup>& sharedPtr);
 		void initialize(const std::shared_ptr<GUIToggleGroup>& sharedPtr);
 
 
-		Vector<GUIToggle*>::type mButtons;
+		Vector<GUIToggle*> mButtons;
 		std::weak_ptr<GUIToggleGroup> mThis;
 		std::weak_ptr<GUIToggleGroup> mThis;
 	};
 	};
 }
 }

+ 5 - 5
BansheeEngine/Include/BsGUIWidget.h

@@ -33,7 +33,7 @@ namespace BansheeEngine
 		bool isDirty(bool cleanIfDirty);
 		bool isDirty(bool cleanIfDirty);
 
 
 		Viewport* getTarget() const { return mTarget; }
 		Viewport* getTarget() const { return mTarget; }
-		const Vector<GUIElement*>::type& getElements() const { return mElements; }
+		const Vector<GUIElement*>& getElements() const { return mElements; }
 
 
 		void _updateLayout();
 		void _updateLayout();
 
 
@@ -86,8 +86,8 @@ namespace BansheeEngine
 		void updateBounds() const;
 		void updateBounds() const;
 
 
 		Viewport* mTarget;
 		Viewport* mTarget;
-		Vector<GUIElement*>::type mElements;
-		Vector<GUIArea*>::type mAreas;
+		Vector<GUIElement*> mElements;
+		Vector<GUIArea*> mAreas;
 		UINT8 mDepth;
 		UINT8 mDepth;
 
 
 		Vector3 mLastFramePosition;
 		Vector3 mLastFramePosition;
@@ -98,8 +98,8 @@ namespace BansheeEngine
 
 
 		mutable bool mWidgetIsDirty;
 		mutable bool mWidgetIsDirty;
 		mutable RectI mBounds;
 		mutable RectI mBounds;
-		mutable Vector<HMesh>::type mCachedMeshes;
-		mutable Vector<HMaterial>::type mCachedMaterials;
+		mutable Vector<HMesh> mCachedMeshes;
+		mutable Vector<HMaterial> mCachedMaterials;
 
 
 		const GUISkin* mSkin;
 		const GUISkin* mSkin;
 	};
 	};

+ 2 - 2
BansheeEngine/Include/BsInputConfiguration.h

@@ -50,7 +50,7 @@ namespace BansheeEngine
 		}
 		}
 
 
 	private:
 	private:
-		static Map<String, UINT32>::type UniqueButtonIds;
+		static Map<String, UINT32> UniqueButtonIds;
 		static UINT32 NextButtonId;
 		static UINT32 NextButtonId;
 	};
 	};
 
 
@@ -76,7 +76,7 @@ namespace BansheeEngine
 
 
 		// TODO - registerAxis
 		// TODO - registerAxis
 	private:
 	private:
-		Vector<VirtualButtonData>::type mButtons[BC_Count];
+		Vector<VirtualButtonData> mButtons[BC_Count];
 
 
 		UINT64 mRepeatInterval;
 		UINT64 mRepeatInterval;
 	};
 	};

+ 1 - 1
BansheeEngine/Include/BsOverlayManager.h

@@ -31,6 +31,6 @@ namespace BansheeEngine
 		void detachOverlay(const Viewport* target, const Overlay* overlay);
 		void detachOverlay(const Viewport* target, const Overlay* overlay);
 		void detachOverlayFromAll(const Overlay* overlay);
 		void detachOverlayFromAll(const Overlay* overlay);
 
 
-		UnorderedMap<const Viewport*, Set<const Overlay*, OverlayComparer>::type>::type mOverlaysPerTarget;
+		UnorderedMap<const Viewport*, Set<const Overlay*, OverlayComparer>> mOverlaysPerTarget;
 	};
 	};
 }
 }

+ 1 - 0
BansheeEngine/Include/BsPrerequisites.h

@@ -26,6 +26,7 @@ namespace BansheeEngine
 	class VirtualButton;
 	class VirtualButton;
 	class VirtualInput;
 	class VirtualInput;
 	class InputConfiguration;
 	class InputConfiguration;
+	struct DragCallbackInfo;
 
 
 	// GUI
 	// GUI
 	class GUIManager;
 	class GUIManager;

+ 4 - 4
BansheeEngine/Include/BsProfilerOverlay.h

@@ -14,7 +14,7 @@ namespace BansheeEngine
 			GUILayout* labelLayout;
 			GUILayout* labelLayout;
 			GUILayout* contentLayout;
 			GUILayout* contentLayout;
 
 
-			Vector<GUIElement*>::type elements;
+			Vector<GUIElement*> elements;
 
 
 			HString name;
 			HString name;
 			HString pctOfParent;
 			HString pctOfParent;
@@ -32,7 +32,7 @@ namespace BansheeEngine
 			GUILayout* labelLayout;
 			GUILayout* labelLayout;
 			GUILayout* contentLayout;
 			GUILayout* contentLayout;
 
 
-			Vector<GUIElement*>::type elements;
+			Vector<GUIElement*> elements;
 
 
 			HString name;
 			HString name;
 			HString pctOfParent;
 			HString pctOfParent;
@@ -95,8 +95,8 @@ namespace BansheeEngine
 		GUIElement* mTitlePreciseAvgCyclesSelf;
 		GUIElement* mTitlePreciseAvgCyclesSelf;
 		GUIElement* mTitlePreciseTotalCyclesSelf;
 		GUIElement* mTitlePreciseTotalCyclesSelf;
 
 
-		Vector<BasicRow>::type mBasicRows;
-		Vector<PreciseRow>::type mPreciseRows;
+		Vector<BasicRow> mBasicRows;
+		Vector<PreciseRow> mPreciseRows;
 
 
 		HEvent mTargetResizedConn;
 		HEvent mTargetResizedConn;
 		bool mIsShown;
 		bool mIsShown;

+ 3 - 3
BansheeEngine/Include/BsRenderable.h

@@ -23,11 +23,11 @@ namespace BansheeEngine
 		void updateWorldBounds();
 		void updateWorldBounds();
 	private:
 	private:
 		HMesh mMesh;
 		HMesh mMesh;
-		Vector<HMaterial>::type mMaterials;
+		Vector<HMaterial> mMaterials;
 		UINT64 mLayer;
 		UINT64 mLayer;
-		Vector<AABox>::type mWorldBounds;
+		Vector<AABox> mWorldBounds;
 
 
-		Vector<GpuParamMat4>::type mMatViewProjParam;
+		Vector<GpuParamMat4> mMatViewProjParam;
 
 
 		/************************************************************************/
 		/************************************************************************/
 		/* 							COMPONENT OVERRIDES                    		*/
 		/* 							COMPONENT OVERRIDES                    		*/

+ 2 - 2
BansheeEngine/Include/BsSceneManager.h

@@ -14,12 +14,12 @@ namespace BansheeEngine
 		/**
 		/**
 		 * @brief	Returns all cameras in the scene.
 		 * @brief	Returns all cameras in the scene.
 		 */
 		 */
-		virtual const Vector<HCamera>::type& getAllCameras() const = 0;
+		virtual const Vector<HCamera>& getAllCameras() const = 0;
 
 
 		/**
 		/**
 		 * @brief	Returns all renderables visible to the specified camera.
 		 * @brief	Returns all renderables visible to the specified camera.
 		 */
 		 */
-		virtual Vector<HRenderable>::type getVisibleRenderables(const HCamera& camera) const = 0;
+		virtual Vector<HRenderable> getVisibleRenderables(const HCamera& camera) const = 0;
 
 
 		virtual void updateRenderableBounds() = 0;
 		virtual void updateRenderableBounds() = 0;
 	};
 	};

+ 1 - 1
BansheeEngine/Include/BsSprite.h

@@ -96,7 +96,7 @@ namespace BansheeEngine
 		static Vector2I getAnchorOffset(SpriteAnchor anchor, UINT32 width, UINT32 height);
 		static Vector2I getAnchorOffset(SpriteAnchor anchor, UINT32 width, UINT32 height);
 	protected:
 	protected:
 		mutable RectI mBounds;
 		mutable RectI mBounds;
-		mutable Vector<SpriteRenderElement>::type mCachedRenderElements;
+		mutable Vector<SpriteRenderElement> mCachedRenderElements;
 
 
 		void updateBounds() const;
 		void updateBounds() const;
 		void clearMesh() const;
 		void clearMesh() const;

+ 1 - 1
BansheeEngine/Include/BsTextSprite.h

@@ -44,7 +44,7 @@ namespace BansheeEngine
 
 
 		void update(const TEXT_SPRITE_DESC& desc);
 		void update(const TEXT_SPRITE_DESC& desc);
 
 
-		static Vector<Vector2I>::type getAlignmentOffsets(const TextData& textData, 
+		static Vector<Vector2I> getAlignmentOffsets(const TextData& textData, 
 			UINT32 width, UINT32 height, TextHorzAlign horzAlign, TextVertAlign vertAlign);
 			UINT32 width, UINT32 height, TextHorzAlign horzAlign, TextVertAlign vertAlign);
 
 
 		/**
 		/**

+ 2 - 2
BansheeEngine/Include/BsVirtualInput.h

@@ -51,8 +51,8 @@ namespace BansheeEngine
 		friend class VirtualButton;
 		friend class VirtualButton;
 
 
 		std::shared_ptr<InputConfiguration> mInputConfiguration;
 		std::shared_ptr<InputConfiguration> mInputConfiguration;
-		Map<UINT32, ButtonData>::type mCachedStates;
-		Queue<VirtualButtonEvent>::type mEvents;
+		Map<UINT32, ButtonData> mCachedStates;
+		Queue<VirtualButtonEvent> mEvents;
 		UINT32 mActiveModifiers;
 		UINT32 mActiveModifiers;
 
 
 		void buttonDown(const ButtonEvent& event);
 		void buttonDown(const ButtonEvent& event);

+ 1 - 1
BansheeEngine/Source/BsApplication.cpp

@@ -71,7 +71,7 @@ namespace BansheeEngine
 
 
 	void BsApplication::shutDown()
 	void BsApplication::shutDown()
 	{
 	{
-		gApplication().mainLoopCallback.disconnect(updateCallbackConn);
+		updateCallbackConn.disconnect();
 
 
 		gApplication().unloadPlugin(mSBansheeEnginePlugin);
 		gApplication().unloadPlugin(mSBansheeEnginePlugin);
 		gApplication().unloadPlugin(mMonoPlugin);
 		gApplication().unloadPlugin(mMonoPlugin);

+ 1 - 1
BansheeEngine/Source/BsBuiltinResources.cpp

@@ -176,7 +176,7 @@ namespace BansheeEngine
 			{
 			{
 				FontImportOptions* importOptions = static_cast<FontImportOptions*>(fontImportOptions.get());
 				FontImportOptions* importOptions = static_cast<FontImportOptions*>(fontImportOptions.get());
 
 
-				Vector<BansheeEngine::UINT32>::type fontSizes;
+				Vector<BansheeEngine::UINT32> fontSizes;
 				fontSizes.push_back(DefaultFontSize);
 				fontSizes.push_back(DefaultFontSize);
 				importOptions->setFontSizes(fontSizes);
 				importOptions->setFontSizes(fontSizes);
 				importOptions->setAntialiasing(false);
 				importOptions->setAntialiasing(false);

+ 3 - 2
BansheeEngine/Source/BsDragAndDropManager.cpp

@@ -71,9 +71,10 @@ namespace BansheeEngine
 
 
 		if(!onDragEnded.empty())
 		if(!onDragEnded.empty())
 		{
 		{
-			bool processed = onDragEnded(event);
+			DragCallbackInfo info;
+			onDragEnded(event, info);
 
 
-			endDrag(processed);
+			endDrag(info.processed);
 		}
 		}
 	}
 	}
 }
 }

+ 15 - 15
BansheeEngine/Source/BsDrawHelper2D.cpp

@@ -31,7 +31,7 @@ namespace BansheeEngine
 		assert((vertexOffset + 4) <= meshData->getNumVertices());
 		assert((vertexOffset + 4) <= meshData->getNumVertices());
 		assert((indexOffset + 6) <= meshData->getNumIndices());
 		assert((indexOffset + 6) <= meshData->getNumIndices());
 
 
-		Vector<Vector2>::type points;
+		Vector<Vector2> points;
 		points.push_back(Vector2(area.x, area.y));
 		points.push_back(Vector2(area.x, area.y));
 		points.push_back(Vector2(area.x + area.width, area.y));
 		points.push_back(Vector2(area.x + area.width, area.y));
 		points.push_back(Vector2(area.x + area.width, area.y + area.height));
 		points.push_back(Vector2(area.x + area.width, area.y + area.height));
@@ -50,12 +50,12 @@ namespace BansheeEngine
 		DrawHelperTemplate<Vector2>::line_AA(a, b, width, borderWidth, color, meshData, vertexOffset, indexOffset);
 		DrawHelperTemplate<Vector2>::line_AA(a, b, width, borderWidth, color, meshData, vertexOffset, indexOffset);
 	}
 	}
 
 
-	void DrawHelper2D::lineList_Pixel(const Vector<Vector2>::type& linePoints, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
+	void DrawHelper2D::lineList_Pixel(const Vector<Vector2>& linePoints, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
 	{
 	{
 		DrawHelperTemplate<Vector2>::lineList_Pixel(linePoints, color, meshData, vertexOffset, indexOffset);
 		DrawHelperTemplate<Vector2>::lineList_Pixel(linePoints, color, meshData, vertexOffset, indexOffset);
 	}
 	}
 
 
-	void DrawHelper2D::lineList_AA(const Vector<Vector2>::type& linePoints, float width, float borderWidth, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
+	void DrawHelper2D::lineList_AA(const Vector<Vector2>& linePoints, float width, float borderWidth, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
 	{
 	{
 		DrawHelperTemplate<Vector2>::lineList_AA(linePoints, width, borderWidth, color, meshData, vertexOffset, indexOffset);
 		DrawHelperTemplate<Vector2>::lineList_AA(linePoints, width, borderWidth, color, meshData, vertexOffset, indexOffset);
 	}
 	}
@@ -68,7 +68,7 @@ namespace BansheeEngine
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
 
 
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		commands.push_back(DebugDrawCommand());
 		commands.push_back(DebugDrawCommand());
 		DebugDrawCommand& dbgCmd = commands.back();
 		DebugDrawCommand& dbgCmd = commands.back();
@@ -118,7 +118,7 @@ namespace BansheeEngine
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
 
 
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		commands.push_back(DebugDrawCommand());
 		commands.push_back(DebugDrawCommand());
 		DebugDrawCommand& dbgCmd = commands.back();
 		DebugDrawCommand& dbgCmd = commands.back();
@@ -157,7 +157,7 @@ namespace BansheeEngine
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
 
 
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		commands.push_back(DebugDrawCommand());
 		commands.push_back(DebugDrawCommand());
 		DebugDrawCommand& dbgCmd = commands.back();
 		DebugDrawCommand& dbgCmd = commands.back();
@@ -192,12 +192,12 @@ namespace BansheeEngine
 		}
 		}
 	}
 	}
 
 
-	void DrawHelper2D::drawLineList_Pixel(const HCamera& camera, const Vector<Vector2>::type& linePoints, const Color& color, 
+	void DrawHelper2D::drawLineList_Pixel(const HCamera& camera, const Vector<Vector2>& linePoints, const Color& color, 
 		DebugDrawCoordType coordType, float timeout)
 		DebugDrawCoordType coordType, float timeout)
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
 
 
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		commands.push_back(DebugDrawCommand());
 		commands.push_back(DebugDrawCommand());
 		DebugDrawCommand& dbgCmd = commands.back();
 		DebugDrawCommand& dbgCmd = commands.back();
@@ -208,7 +208,7 @@ namespace BansheeEngine
 
 
 		if(coordType == DebugDrawCoordType::Normalized)
 		if(coordType == DebugDrawCoordType::Normalized)
 		{
 		{
-			Vector<Vector2>::type points;
+			Vector<Vector2> points;
 			UINT32 numPoints = (UINT32)linePoints.size();
 			UINT32 numPoints = (UINT32)linePoints.size();
 			for(UINT32 i = 0; i < numPoints; i++)
 			for(UINT32 i = 0; i < numPoints; i++)
 				points.push_back(normalizedCoordToClipSpace(linePoints[i]));
 				points.push_back(normalizedCoordToClipSpace(linePoints[i]));
@@ -237,12 +237,12 @@ namespace BansheeEngine
 		}
 		}
 	}
 	}
 
 
-	void DrawHelper2D::drawLineList_AA(const HCamera& camera, const Vector<Vector2>::type& linePoints, float width, float borderWidth, 
+	void DrawHelper2D::drawLineList_AA(const HCamera& camera, const Vector<Vector2>& linePoints, float width, float borderWidth, 
 		const Color& color, DebugDrawCoordType coordType, float timeout)
 		const Color& color, DebugDrawCoordType coordType, float timeout)
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
 
 
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		commands.push_back(DebugDrawCommand());
 		commands.push_back(DebugDrawCommand());
 		DebugDrawCommand& dbgCmd = commands.back();
 		DebugDrawCommand& dbgCmd = commands.back();
@@ -252,7 +252,7 @@ namespace BansheeEngine
 
 
 		if(coordType == DebugDrawCoordType::Normalized)
 		if(coordType == DebugDrawCoordType::Normalized)
 		{
 		{
-			Vector<Vector2>::type points;
+			Vector<Vector2> points;
 			UINT32 numPoints = (UINT32)linePoints.size();
 			UINT32 numPoints = (UINT32)linePoints.size();
 			for(UINT32 i = 0; i < numPoints; i++)
 			for(UINT32 i = 0; i < numPoints; i++)
 				points.push_back(normalizedCoordToClipSpace(linePoints[i]));
 				points.push_back(normalizedCoordToClipSpace(linePoints[i]));
@@ -289,7 +289,7 @@ namespace BansheeEngine
 
 
 		Vector2 nrm(dir.y, -dir.x);
 		Vector2 nrm(dir.y, -dir.x);
 
 
-		Vector<Vector2>::type points(4);
+		Vector<Vector2> points(4);
 
 
 		float r = width - 1.0f;
 		float r = width - 1.0f;
 		r *= 0.5f;
 		r *= 0.5f;
@@ -312,13 +312,13 @@ namespace BansheeEngine
 		polygon_AA(points, borderWidth, color, outVertices, outColors, vertexOffset, vertexStride, outIndices, indexOffset);
 		polygon_AA(points, borderWidth, color, outVertices, outColors, vertexOffset, vertexStride, outIndices, indexOffset);
 	}
 	}
 
 
-	void DrawHelper2D::polygon_AA(const Vector<Vector2>::type& points, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
+	void DrawHelper2D::polygon_AA(const Vector<Vector2>& points, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 		UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset)
 		UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset)
 	{
 	{
 		UINT32 numCoords = (UINT32)points.size();
 		UINT32 numCoords = (UINT32)points.size();
 
 
 		outVertices += vertexOffset * vertexStride;
 		outVertices += vertexOffset * vertexStride;
-		Vector<Vector2>::type tempNormals(numCoords);
+		Vector<Vector2> tempNormals(numCoords);
 
 
 		for(UINT32 i = 0, j = numCoords - 1; i < numCoords; j = i++)
 		for(UINT32 i = 0, j = numCoords - 1; i < numCoords; j = i++)
 		{
 		{

+ 10 - 10
BansheeEngine/Source/BsDrawHelper3D.cpp

@@ -42,12 +42,12 @@ namespace BansheeEngine
 		DrawHelperTemplate<Vector3>::line_AA(a, b, width, borderWidth, color, meshData, vertexOffset, indexOffset);
 		DrawHelperTemplate<Vector3>::line_AA(a, b, width, borderWidth, color, meshData, vertexOffset, indexOffset);
 	}
 	}
 
 
-	void DrawHelper3D::lineList_Pixel(const Vector<Vector3>::type& linePoints, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
+	void DrawHelper3D::lineList_Pixel(const Vector<Vector3>& linePoints, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
 	{
 	{
 		DrawHelperTemplate<Vector3>::lineList_Pixel(linePoints, color, meshData, vertexOffset, indexOffset);
 		DrawHelperTemplate<Vector3>::lineList_Pixel(linePoints, color, meshData, vertexOffset, indexOffset);
 	}
 	}
 
 
-	void DrawHelper3D::lineList_AA(const Vector<Vector3>::type& linePoints, float width, float borderWidth, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
+	void DrawHelper3D::lineList_AA(const Vector<Vector3>& linePoints, float width, float borderWidth, const Color& color, const MeshDataPtr& meshData, UINT32 vertexOffset, UINT32 indexOffset)
 	{
 	{
 		DrawHelperTemplate<Vector3>::lineList_AA(linePoints, width, borderWidth, color, meshData, vertexOffset, indexOffset);
 		DrawHelperTemplate<Vector3>::lineList_AA(linePoints, width, borderWidth, color, meshData, vertexOffset, indexOffset);
 	}
 	}
@@ -60,7 +60,7 @@ namespace BansheeEngine
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
 
 
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		commands.push_back(DebugDrawCommand());
 		commands.push_back(DebugDrawCommand());
 		DebugDrawCommand& dbgCmd = commands.back();
 		DebugDrawCommand& dbgCmd = commands.back();
@@ -84,7 +84,7 @@ namespace BansheeEngine
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
 
 
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		commands.push_back(DebugDrawCommand());
 		commands.push_back(DebugDrawCommand());
 		DebugDrawCommand& dbgCmd = commands.back();
 		DebugDrawCommand& dbgCmd = commands.back();
@@ -104,11 +104,11 @@ namespace BansheeEngine
 		dbgCmd.matInfo3D = BuiltinMaterialManager::instance().createDebugDraw3DMaterial();
 		dbgCmd.matInfo3D = BuiltinMaterialManager::instance().createDebugDraw3DMaterial();
 	}
 	}
 
 
-	void DrawHelper3D::drawLineList_Pixel(const HCamera& camera, const Vector<Vector3>::type& linePoints, const Color& color, float timeout)
+	void DrawHelper3D::drawLineList_Pixel(const HCamera& camera, const Vector<Vector3>& linePoints, const Color& color, float timeout)
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
 
 
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		commands.push_back(DebugDrawCommand());
 		commands.push_back(DebugDrawCommand());
 		DebugDrawCommand& dbgCmd = commands.back();
 		DebugDrawCommand& dbgCmd = commands.back();
@@ -129,12 +129,12 @@ namespace BansheeEngine
 		dbgCmd.matInfo3D = BuiltinMaterialManager::instance().createDebugDraw3DMaterial();
 		dbgCmd.matInfo3D = BuiltinMaterialManager::instance().createDebugDraw3DMaterial();
 	}
 	}
 
 
-	void DrawHelper3D::drawLineList_AA(const HCamera& camera, const Vector<Vector3>::type& linePoints, float width, float borderWidth, 
+	void DrawHelper3D::drawLineList_AA(const HCamera& camera, const Vector<Vector3>& linePoints, float width, float borderWidth, 
 		const Color& color, float timeout)
 		const Color& color, float timeout)
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
 
 
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		commands.push_back(DebugDrawCommand());
 		commands.push_back(DebugDrawCommand());
 		DebugDrawCommand& dbgCmd = commands.back();
 		DebugDrawCommand& dbgCmd = commands.back();
@@ -158,7 +158,7 @@ namespace BansheeEngine
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
 
 
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		commands.push_back(DebugDrawCommand());
 		commands.push_back(DebugDrawCommand());
 		DebugDrawCommand& dbgCmd = commands.back();
 		DebugDrawCommand& dbgCmd = commands.back();
@@ -305,7 +305,7 @@ namespace BansheeEngine
 		CM_EXCEPT(NotImplementedException, "3D AA line drawing not implemented.");
 		CM_EXCEPT(NotImplementedException, "3D AA line drawing not implemented.");
 	}
 	}
 
 
-	void DrawHelper3D::polygon_AA(const Vector<Vector3>::type& points, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
+	void DrawHelper3D::polygon_AA(const Vector<Vector3>& points, float borderWidth, const Color& color, UINT8* outVertices, UINT8* outColors, 
 		UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset)
 		UINT32 vertexOffset, UINT32 vertexStride, UINT32* outIndices, UINT32 indexOffset)
 	{
 	{
 		CM_EXCEPT(NotImplementedException, "3D AA polygon drawing not implemented.");
 		CM_EXCEPT(NotImplementedException, "3D AA polygon drawing not implemented.");

+ 2 - 2
BansheeEngine/Source/BsDrawHelperTemplate.cpp

@@ -15,7 +15,7 @@ namespace BansheeEngine
 	void DrawHelperTemplateBase::render(const HCamera& camera, RenderQueue& renderQueue)
 	void DrawHelperTemplateBase::render(const HCamera& camera, RenderQueue& renderQueue)
 	{
 	{
 		const Viewport* viewport = camera->getViewport().get();
 		const Viewport* viewport = camera->getViewport().get();
-		Vector<DebugDrawCommand>::type& commands = mCommandsPerViewport[viewport];
+		Vector<DebugDrawCommand>& commands = mCommandsPerViewport[viewport];
 
 
 		Matrix4 projMatrixCstm = camera->getProjectionMatrix();
 		Matrix4 projMatrixCstm = camera->getProjectionMatrix();
 		Matrix4 viewMatrixCstm = camera->getViewMatrix();
 		Matrix4 viewMatrixCstm = camera->getViewMatrix();
@@ -64,7 +64,7 @@ namespace BansheeEngine
 		}
 		}
 
 
 		float curTime = gTime().getTime();
 		float curTime = gTime().getTime();
-		Vector<DebugDrawCommand>::type newCommands;
+		Vector<DebugDrawCommand> newCommands;
 		for(auto& cmd : commands)
 		for(auto& cmd : commands)
 		{
 		{
 			if(cmd.endTime > curTime)
 			if(cmd.endTime > curTime)

+ 5 - 5
BansheeEngine/Source/BsGUIDropDownBox.cpp

@@ -136,7 +136,7 @@ namespace BansheeEngine
 
 
 	void GUIDropDownBox::notifySubMenuOpened(DropDownSubMenu* subMenu)
 	void GUIDropDownBox::notifySubMenuOpened(DropDownSubMenu* subMenu)
 	{
 	{
-		Vector<RectI>::type bounds;
+		Vector<RectI> bounds;
 
 
 		while(subMenu != nullptr)
 		while(subMenu != nullptr)
 		{
 		{
@@ -150,7 +150,7 @@ namespace BansheeEngine
 
 
 	void GUIDropDownBox::notifySubMenuClosed(DropDownSubMenu* subMenu)
 	void GUIDropDownBox::notifySubMenuClosed(DropDownSubMenu* subMenu)
 	{
 	{
-		Vector<RectI>::type bounds;
+		Vector<RectI> bounds;
 
 
 		while(subMenu != nullptr)
 		while(subMenu != nullptr)
 		{
 		{
@@ -388,9 +388,9 @@ namespace BansheeEngine
 			}
 			}
 		}
 		}
 
 
-		Vector<GUITexture*>::type newSeparators;
-		Vector<GUIButton*>::type newEntryBtns;
-		Vector<GUIButton*>::type newExpEntryBtns;
+		Vector<GUITexture*> newSeparators;
+		Vector<GUIButton*> newEntryBtns;
+		Vector<GUIButton*> newExpEntryBtns;
 		for(UINT32 i = pageStart; i < pageEnd; i++)
 		for(UINT32 i = pageStart; i < pageEnd; i++)
 		{
 		{
 			GUIDropDownDataEntry& element = mData.entries[i];
 			GUIDropDownDataEntry& element = mData.entries[i];

+ 4 - 4
BansheeEngine/Source/BsGUIInputBox.cpp

@@ -102,7 +102,7 @@ namespace BansheeEngine
 
 
 		if(mSelectionShown)
 		if(mSelectionShown)
 		{
 		{
-			const Vector<ImageSprite*>::type& sprites = gGUIManager().getInputSelectionTool()->getSprites();
+			const Vector<ImageSprite*>& sprites = gGUIManager().getInputSelectionTool()->getSprites();
 			for(auto& selectionSprite : sprites)
 			for(auto& selectionSprite : sprites)
 			{
 			{
 				numElements += selectionSprite->getNumRenderElements();
 				numElements += selectionSprite->getNumRenderElements();
@@ -205,7 +205,7 @@ namespace BansheeEngine
 
 
 		if(mSelectionShown)
 		if(mSelectionShown)
 		{
 		{
-			const Vector<ImageSprite*>::type& sprites = gGUIManager().getInputSelectionTool()->getSprites();
+			const Vector<ImageSprite*>& sprites = gGUIManager().getInputSelectionTool()->getSprites();
 			for(auto& selectionSprite : sprites)
 			for(auto& selectionSprite : sprites)
 			{
 			{
 				oldNumElements = newNumElements;
 				oldNumElements = newNumElements;
@@ -248,7 +248,7 @@ namespace BansheeEngine
 		if(mSelectionShown)
 		if(mSelectionShown)
 		{
 		{
 			UINT32 spriteIdx = 0;
 			UINT32 spriteIdx = 0;
-			const Vector<ImageSprite*>::type& sprites = gGUIManager().getInputSelectionTool()->getSprites();
+			const Vector<ImageSprite*>& sprites = gGUIManager().getInputSelectionTool()->getSprites();
 			for(auto& selectionSprite : sprites)
 			for(auto& selectionSprite : sprites)
 			{
 			{
 				oldNumElements = newNumElements;
 				oldNumElements = newNumElements;
@@ -291,7 +291,7 @@ namespace BansheeEngine
 		if(mSelectionShown)
 		if(mSelectionShown)
 		{
 		{
 			UINT32 spriteIdx = 0;
 			UINT32 spriteIdx = 0;
-			const Vector<ImageSprite*>::type& sprites = gGUIManager().getInputSelectionTool()->getSprites();
+			const Vector<ImageSprite*>& sprites = gGUIManager().getInputSelectionTool()->getSprites();
 			for(auto& selectionSprite : sprites)
 			for(auto& selectionSprite : sprites)
 			{
 			{
 				oldNumElements = newNumElements;
 				oldNumElements = newNumElements;

+ 2 - 2
BansheeEngine/Source/BsGUIInputSelection.cpp

@@ -78,9 +78,9 @@ namespace BansheeEngine
 		return clipRect;
 		return clipRect;
 	}
 	}
 
 
-	Vector<RectI>::type GUIInputSelection::getSelectionRects() const
+	Vector<RectI> GUIInputSelection::getSelectionRects() const
 	{
 	{
-		Vector<RectI>::type selectionRects;
+		Vector<RectI> selectionRects;
 
 
 		if(mSelectionStart == mSelectionEnd)
 		if(mSelectionStart == mSelectionEnd)
 			return selectionRects;
 			return selectionRects;

+ 1 - 1
BansheeEngine/Source/BsGUIInputTool.cpp

@@ -43,7 +43,7 @@ namespace BansheeEngine
 		// Store cached line data
 		// Store cached line data
 		UINT32 curCharIdx = 0;
 		UINT32 curCharIdx = 0;
 		UINT32 curLineIdx = 0;
 		UINT32 curLineIdx = 0;
-		Vector<Vector2I>::type alignmentOffsets = TextSprite::getAlignmentOffsets(textData, mTextDesc.width, 
+		Vector<Vector2I> alignmentOffsets = TextSprite::getAlignmentOffsets(textData, mTextDesc.width, 
 			mTextDesc.height, mTextDesc.horzAlign, mTextDesc.vertAlign);
 			mTextDesc.height, mTextDesc.horzAlign, mTextDesc.vertAlign);
 
 
 		for(UINT32 i = 0; i < numLines; i++)
 		for(UINT32 i = 0; i < numLines; i++)

+ 4 - 4
BansheeEngine/Source/BsGUIListBox.cpp

@@ -19,7 +19,7 @@ namespace BansheeEngine
 		return name;
 		return name;
 	}
 	}
 
 
-	GUIListBox::GUIListBox(const String& styleName, const Vector<HString>::type& elements, const GUILayoutOptions& layoutOptions)
+	GUIListBox::GUIListBox(const String& styleName, const Vector<HString>& elements, const GUILayoutOptions& layoutOptions)
 		:GUIButtonBase(styleName, GUIContent(HString(L"")), layoutOptions), mElements(elements), mSelectedIdx(0), mIsListBoxOpen(false)
 		:GUIButtonBase(styleName, GUIContent(HString(L"")), layoutOptions), mElements(elements), mSelectedIdx(0), mIsListBoxOpen(false)
 	{
 	{
 		if(elements.size() > 0)
 		if(elements.size() > 0)
@@ -31,17 +31,17 @@ namespace BansheeEngine
 		closeListBox();
 		closeListBox();
 	}
 	}
 
 
-	GUIListBox* GUIListBox::create(const Vector<HString>::type& elements, const String& styleName)
+	GUIListBox* GUIListBox::create(const Vector<HString>& elements, const String& styleName)
 	{
 	{
 		return new (cm_alloc<GUIListBox, PoolAlloc>()) GUIListBox(getStyleName<GUIListBox>(styleName), elements, GUILayoutOptions::create());
 		return new (cm_alloc<GUIListBox, PoolAlloc>()) GUIListBox(getStyleName<GUIListBox>(styleName), elements, GUILayoutOptions::create());
 	}
 	}
 
 
-	GUIListBox* GUIListBox::create(const Vector<HString>::type& elements, const GUIOptions& layoutOptions, const String& styleName)
+	GUIListBox* GUIListBox::create(const Vector<HString>& elements, const GUIOptions& layoutOptions, const String& styleName)
 	{
 	{
 		return new (cm_alloc<GUIListBox, PoolAlloc>()) GUIListBox(getStyleName<GUIListBox>(styleName), elements, GUILayoutOptions::create(layoutOptions));
 		return new (cm_alloc<GUIListBox, PoolAlloc>()) GUIListBox(getStyleName<GUIListBox>(styleName), elements, GUILayoutOptions::create(layoutOptions));
 	}
 	}
 
 
-	void GUIListBox::setElements(const Vector<HString>::type& elements)
+	void GUIListBox::setElements(const Vector<HString>& elements)
 	{
 	{
 		bool wasOpen = mIsListBoxOpen;
 		bool wasOpen = mIsListBoxOpen;
 
 

+ 21 - 21
BansheeEngine/Source/BsGUIManager.cpp

@@ -58,7 +58,7 @@ namespace BansheeEngine
 		UINT32 numQuads;
 		UINT32 numQuads;
 		UINT32 depth;
 		UINT32 depth;
 		RectI bounds;
 		RectI bounds;
-		Vector<GUIGroupElement>::type elements;
+		Vector<GUIGroupElement> elements;
 	};
 	};
 
 
 	const UINT32 GUIManager::DRAG_DISTANCE = 3;
 	const UINT32 GUIManager::DRAG_DISTANCE = 3;
@@ -88,7 +88,7 @@ namespace BansheeEngine
 		mInputSelection = cm_new<GUIInputSelection, PoolAlloc>();
 		mInputSelection = cm_new<GUIInputSelection, PoolAlloc>();
 
 
 		DragAndDropManager::startUp(cm_new<DragAndDropManager>());
 		DragAndDropManager::startUp(cm_new<DragAndDropManager>());
-		mDragEndedConn = DragAndDropManager::instance().onDragEnded.connect(std::bind(&GUIManager::onMouseDragEnded, this, _1));
+		mDragEndedConn = DragAndDropManager::instance().onDragEnded.connect(std::bind(&GUIManager::onMouseDragEnded, this, _1, _2));
 
 
 		GUIDropDownBoxManager::startUp(cm_new<GUIDropDownBoxManager>());
 		GUIDropDownBoxManager::startUp(cm_new<GUIDropDownBoxManager>());
 
 
@@ -110,7 +110,7 @@ namespace BansheeEngine
 
 
 		// Make a copy of widgets, since destroying them will remove them from mWidgets and
 		// Make a copy of widgets, since destroying them will remove them from mWidgets and
 		// we can't iterate over an array thats getting modified
 		// we can't iterate over an array thats getting modified
-		Vector<WidgetInfo>::type widgetCopy = mWidgets;
+		Vector<WidgetInfo> widgetCopy = mWidgets;
 		for(auto& widget : widgetCopy)
 		for(auto& widget : widgetCopy)
 			widget.widget->destroy();
 			widget.widget->destroy();
 
 
@@ -372,11 +372,11 @@ namespace BansheeEngine
 					(aDepth == bDepth && a.element == b.element && a.renderElement > b.renderElement); 
 					(aDepth == bDepth && a.element == b.element && a.renderElement > b.renderElement); 
 			};
 			};
 
 
-			Set<GUIGroupElement, std::function<bool(const GUIGroupElement&, const GUIGroupElement&)>>::type allElements(elemComp);
+			Set<GUIGroupElement, std::function<bool(const GUIGroupElement&, const GUIGroupElement&)>> allElements(elemComp);
 
 
 			for(auto& widget : renderData.widgets)
 			for(auto& widget : renderData.widgets)
 			{
 			{
-				const Vector<GUIElement*>::type& elements = widget->getElements();
+				const Vector<GUIElement*>& elements = widget->getElements();
 
 
 				for(auto& element : elements)
 				for(auto& element : elements)
 				{
 				{
@@ -393,7 +393,7 @@ namespace BansheeEngine
 
 
 			// Group the elements in such a way so that we end up with a smallest amount of
 			// Group the elements in such a way so that we end up with a smallest amount of
 			// meshes, without breaking back to front rendering order
 			// meshes, without breaking back to front rendering order
-			UnorderedMap<UINT64, Vector<GUIMaterialGroup>::type>::type materialGroups;
+			UnorderedMap<UINT64, Vector<GUIMaterialGroup>> materialGroups;
 			for(auto& elem : allElements)
 			for(auto& elem : allElements)
 			{
 			{
 				GUIElement* guiElem = elem.element;
 				GUIElement* guiElem = elem.element;
@@ -411,13 +411,13 @@ namespace BansheeEngine
 				// If this is a new material, add a new list of groups
 				// If this is a new material, add a new list of groups
 				auto findIterMaterial = materialGroups.find(materialId);
 				auto findIterMaterial = materialGroups.find(materialId);
 				if(findIterMaterial == end(materialGroups))
 				if(findIterMaterial == end(materialGroups))
-					materialGroups[materialId] = Vector<GUIMaterialGroup>::type();
+					materialGroups[materialId] = Vector<GUIMaterialGroup>();
 
 
 				// Try to find a group this material will fit in:
 				// Try to find a group this material will fit in:
 				//  - Group that has a depth value same or one below elements depth will always be a match
 				//  - Group that has a depth value same or one below elements depth will always be a match
 				//  - Otherwise, we search higher depth values as well, but we only use them if no elements in between those depth values
 				//  - Otherwise, we search higher depth values as well, but we only use them if no elements in between those depth values
 				//    overlap the current elements bounds.
 				//    overlap the current elements bounds.
-				Vector<GUIMaterialGroup>::type& allGroups = materialGroups[materialId];
+				Vector<GUIMaterialGroup>& allGroups = materialGroups[materialId];
 				GUIMaterialGroup* foundGroup = nullptr;
 				GUIMaterialGroup* foundGroup = nullptr;
 				for(auto groupIter = allGroups.rbegin(); groupIter != allGroups.rend(); ++groupIter)
 				for(auto groupIter = allGroups.rbegin(); groupIter != allGroups.rend(); ++groupIter)
 				{
 				{
@@ -502,7 +502,7 @@ namespace BansheeEngine
 				// requires all elements to be unique
 				// requires all elements to be unique
 			};
 			};
 
 
-			Set<GUIMaterialGroup*, std::function<bool(GUIMaterialGroup*, GUIMaterialGroup*)>>::type sortedGroups(groupComp);
+			Set<GUIMaterialGroup*, std::function<bool(GUIMaterialGroup*, GUIMaterialGroup*)>> sortedGroups(groupComp);
 			for(auto& material : materialGroups)
 			for(auto& material : materialGroups)
 			{
 			{
 				for(auto& group : material.second)
 				for(auto& group : material.second)
@@ -616,7 +616,7 @@ namespace BansheeEngine
 		gCoreAccessor().writeSubresource(tex.getInternalPtr(), tex->mapToSubresourceIdx(0, 0), data);
 		gCoreAccessor().writeSubresource(tex.getInternalPtr(), tex->mapToSubresourceIdx(0, 0), data);
 	}
 	}
 
 
-	bool GUIManager::onMouseDragEnded(const PointerEvent& event)
+	void GUIManager::onMouseDragEnded(const PointerEvent& event, DragCallbackInfo& dragInfo)
 	{
 	{
 		GUIMouseButton guiButton = buttonToGUIButton(event.button);
 		GUIMouseButton guiButton = buttonToGUIButton(event.button);
 
 
@@ -638,15 +638,15 @@ namespace BansheeEngine
 				if(acceptDrop)
 				if(acceptDrop)
 				{
 				{
 					mMouseEvent.setDragAndDropDroppedData(localPos, DragAndDropManager::instance().getDragTypeId(), DragAndDropManager::instance().getDragData());
 					mMouseEvent.setDragAndDropDroppedData(localPos, DragAndDropManager::instance().getDragTypeId(), DragAndDropManager::instance().getDragData());
-					bool processed = sendMouseEvent(elementInfo.widget, elementInfo.element, mMouseEvent);
+					dragInfo.processed = sendMouseEvent(elementInfo.widget, elementInfo.element, mMouseEvent);
 
 
-					if(processed)
-						return true;
+					if(dragInfo.processed)
+						return;
 				}
 				}
 			}
 			}
 		}
 		}
 
 
-		return false;
+		dragInfo.processed = false;
 	}
 	}
 
 
 	void GUIManager::onPointerMoved(const PointerEvent& event)
 	void GUIManager::onPointerMoved(const PointerEvent& event)
@@ -1089,13 +1089,13 @@ namespace BansheeEngine
 
 
 	bool GUIManager::findElementUnderPointer(const Vector2I& pointerScreenPos, bool buttonStates[3], bool shift, bool control, bool alt)
 	bool GUIManager::findElementUnderPointer(const Vector2I& pointerScreenPos, bool buttonStates[3], bool shift, bool control, bool alt)
 	{
 	{
-		Vector<const RenderWindow*>::type widgetWindows;
+		Vector<const RenderWindow*> widgetWindows;
 		for(auto& widgetInfo : mWidgets)
 		for(auto& widgetInfo : mWidgets)
 			widgetWindows.push_back(getWidgetWindow(*widgetInfo.widget));
 			widgetWindows.push_back(getWidgetWindow(*widgetInfo.widget));
 
 
 #if CM_DEBUG_MODE
 #if CM_DEBUG_MODE
 		// Checks if all referenced windows actually exist
 		// Checks if all referenced windows actually exist
-		Vector<RenderWindow*>::type activeWindows = RenderWindowManager::instance().getRenderWindows();
+		Vector<RenderWindow*> activeWindows = RenderWindowManager::instance().getRenderWindows();
 		for(auto& window : widgetWindows)
 		for(auto& window : widgetWindows)
 		{
 		{
 			if(window == nullptr)
 			if(window == nullptr)
@@ -1114,7 +1114,7 @@ namespace BansheeEngine
 		mNewElementsUnderPointer.clear();
 		mNewElementsUnderPointer.clear();
 
 
 		const RenderWindow* windowUnderPointer = nullptr;
 		const RenderWindow* windowUnderPointer = nullptr;
-		UnorderedSet<const RenderWindow*>::type uniqueWindows;
+		UnorderedSet<const RenderWindow*> uniqueWindows;
 
 
 		for(auto& window : widgetWindows)
 		for(auto& window : widgetWindows)
 		{
 		{
@@ -1150,7 +1150,7 @@ namespace BansheeEngine
 				GUIWidget* widget = widgetInfo.widget;
 				GUIWidget* widget = widgetInfo.widget;
 				if(widgetWindows[widgetIdx] == windowUnderPointer && widget->inBounds(windowToBridgedCoords(*widget, windowPos)))
 				if(widgetWindows[widgetIdx] == windowUnderPointer && widget->inBounds(windowToBridgedCoords(*widget, windowPos)))
 				{
 				{
-					const Vector<GUIElement*>::type& elements = widget->getElements();
+					const Vector<GUIElement*>& elements = widget->getElements();
 					Vector2I localPos = getWidgetRelativePos(*widget, pointerScreenPos);
 					Vector2I localPos = getWidgetRelativePos(*widget, pointerScreenPos);
 
 
 					// Elements with lowest depth (most to the front) get handled first
 					// Elements with lowest depth (most to the front) get handled first
@@ -1351,8 +1351,8 @@ namespace BansheeEngine
 		// queue other elements for destruction
 		// queue other elements for destruction
 		while(!mScheduledForDestruction.empty())
 		while(!mScheduledForDestruction.empty())
 		{
 		{
-			Stack<GUIElement*>::type toDestroy = mScheduledForDestruction;
-			mScheduledForDestruction = Stack<GUIElement*>::type();
+			Stack<GUIElement*> toDestroy = mScheduledForDestruction;
+			mScheduledForDestruction = Stack<GUIElement*>();
 
 
 			while(!toDestroy.empty())
 			while(!toDestroy.empty())
 			{
 			{
@@ -1447,7 +1447,7 @@ namespace BansheeEngine
 		}
 		}
 
 
 		RenderTargetPtr renderTarget = widget.getTarget()->getTarget();
 		RenderTargetPtr renderTarget = widget.getTarget()->getTarget();
-		Vector<RenderWindow*>::type renderWindows = RenderWindowManager::instance().getRenderWindows();
+		Vector<RenderWindow*> renderWindows = RenderWindowManager::instance().getRenderWindows();
 
 
 		auto iterFindWin = std::find(renderWindows.begin(), renderWindows.end(), renderTarget.get());
 		auto iterFindWin = std::find(renderWindows.begin(), renderWindows.end(), renderTarget.get());
 		if(iterFindWin != renderWindows.end())
 		if(iterFindWin != renderWindows.end())

+ 2 - 2
BansheeEngine/Source/BsGUIMenu.cpp

@@ -75,7 +75,7 @@ namespace BansheeEngine
 
 
 	const GUIMenuItem* GUIMenu::addMenuItemInternal(const WString& path, std::function<void()> callback, bool isSeparator)
 	const GUIMenuItem* GUIMenu::addMenuItemInternal(const WString& path, std::function<void()> callback, bool isSeparator)
 	{
 	{
-		Vector<WString>::type pathElements = StringUtil::split(path, L"/");
+		Vector<WString> pathElements = StringUtil::split(path, L"/");
 
 
 		GUIMenuItem* curSubMenu = &mRootElement;
 		GUIMenuItem* curSubMenu = &mRootElement;
 		for(UINT32 i = 0; i < (UINT32)pathElements.size(); i++)
 		for(UINT32 i = 0; i < (UINT32)pathElements.size(); i++)
@@ -119,7 +119,7 @@ namespace BansheeEngine
 
 
 	const GUIMenuItem* GUIMenu::getMenuItem(const WString& path) const
 	const GUIMenuItem* GUIMenu::getMenuItem(const WString& path) const
 	{
 	{
-		Vector<WString>::type pathElements = StringUtil::split(path, L"/");
+		Vector<WString> pathElements = StringUtil::split(path, L"/");
 
 
 		const GUIMenuItem* curSubMenu = &mRootElement;
 		const GUIMenuItem* curSubMenu = &mRootElement;
 		for(UINT32 i = 0; i < (UINT32)pathElements.size(); i++)
 		for(UINT32 i = 0; i < (UINT32)pathElements.size(); i++)

+ 1 - 1
BansheeEngine/Source/BsGUIMouseEvent.cpp

@@ -9,7 +9,7 @@ namespace BansheeEngine
 
 
 	}
 	}
 
 
-	GUIMouseEvent::GUIMouseEvent(bool buttonStates[GUIMouseButton::Count], bool shift, bool ctrl, bool alt)
+	GUIMouseEvent::GUIMouseEvent(bool buttonStates[(int)GUIMouseButton::Count], bool shift, bool ctrl, bool alt)
 		:mType(GUIMouseEventType::MouseMove), mButton(GUIMouseButton::Left),
 		:mType(GUIMouseEventType::MouseMove), mButton(GUIMouseButton::Left),
 		mShift(shift), mCtrl(ctrl), mAlt(alt)
 		mShift(shift), mCtrl(ctrl), mAlt(alt)
 	{
 	{

+ 4 - 4
BansheeEngine/Source/BsInputConfiguration.cpp

@@ -2,7 +2,7 @@
 
 
 namespace BansheeEngine
 namespace BansheeEngine
 {
 {
-	Map<String, UINT32>::type VirtualButton::UniqueButtonIds;
+	Map<String, UINT32> VirtualButton::UniqueButtonIds;
 	UINT32 VirtualButton::NextButtonId = 0;
 	UINT32 VirtualButton::NextButtonId = 0;
 
 
 	VIRTUAL_BUTTON_DESC::VIRTUAL_BUTTON_DESC()
 	VIRTUAL_BUTTON_DESC::VIRTUAL_BUTTON_DESC()
@@ -36,7 +36,7 @@ namespace BansheeEngine
 
 
 	void InputConfiguration::registerButton(const String& name, ButtonCode buttonCode, VButtonModifier modifiers, bool repeatable)
 	void InputConfiguration::registerButton(const String& name, ButtonCode buttonCode, VButtonModifier modifiers, bool repeatable)
 	{
 	{
-		Vector<VirtualButtonData>::type& btnData = mButtons[buttonCode & 0x0000FFFF];
+		Vector<VirtualButtonData>& btnData = mButtons[buttonCode & 0x0000FFFF];
 
 
 		INT32 idx = -1;
 		INT32 idx = -1;
 		for(UINT32 i = 0; i < (UINT32)btnData.size(); i++)
 		for(UINT32 i = 0; i < (UINT32)btnData.size(); i++)
@@ -62,7 +62,7 @@ namespace BansheeEngine
 
 
 	void InputConfiguration::unregisterButton(const String& name)
 	void InputConfiguration::unregisterButton(const String& name)
 	{
 	{
-		Vector<UINT32>::type toRemove;
+		Vector<UINT32> toRemove;
 
 
 		for(UINT32 i = 0; i < BC_Count; i++)
 		for(UINT32 i = 0; i < BC_Count; i++)
 		{
 		{
@@ -86,7 +86,7 @@ namespace BansheeEngine
 
 
 	bool InputConfiguration::getButton(ButtonCode code, UINT32 modifiers, VirtualButton& btn, VIRTUAL_BUTTON_DESC& btnDesc) const
 	bool InputConfiguration::getButton(ButtonCode code, UINT32 modifiers, VirtualButton& btn, VIRTUAL_BUTTON_DESC& btnDesc) const
 	{
 	{
-		const Vector<VirtualButtonData>::type& btnData = mButtons[code & 0x0000FFFF];
+		const Vector<VirtualButtonData>& btnData = mButtons[code & 0x0000FFFF];
 
 
 		for(UINT32 i = 0; i < (UINT32)btnData.size(); i++)
 		for(UINT32 i = 0; i < (UINT32)btnData.size(); i++)
 		{
 		{

+ 6 - 6
BansheeEngine/Source/BsProfilerOverlay.cpp

@@ -19,9 +19,9 @@ namespace BansheeEngine
 		GUILayout& labelLayout;
 		GUILayout& labelLayout;
 		GUILayout& contentLayout;
 		GUILayout& contentLayout;
 		GUIWidget& widget;
 		GUIWidget& widget;
-		Vector<ProfilerOverlay::BasicRow>::type& rows;
+		Vector<ProfilerOverlay::BasicRow>& rows;
 
 
-		BasicRowFiller(Vector<ProfilerOverlay::BasicRow>::type& _rows, GUILayout& _labelLayout, GUILayout& _contentLayout, GUIWidget& _widget)
+		BasicRowFiller(Vector<ProfilerOverlay::BasicRow>& _rows, GUILayout& _labelLayout, GUILayout& _contentLayout, GUIWidget& _widget)
 			:rows(_rows), curIdx(0), labelLayout(_labelLayout), contentLayout(_contentLayout), widget(_widget)
 			:rows(_rows), curIdx(0), labelLayout(_labelLayout), contentLayout(_contentLayout), widget(_widget)
 		{ }
 		{ }
 
 
@@ -123,9 +123,9 @@ namespace BansheeEngine
 		GUILayout& labelLayout;
 		GUILayout& labelLayout;
 		GUILayout& contentLayout;
 		GUILayout& contentLayout;
 		GUIWidget& widget;
 		GUIWidget& widget;
-		Vector<ProfilerOverlay::PreciseRow>::type& rows;
+		Vector<ProfilerOverlay::PreciseRow>& rows;
 
 
-		PreciseRowFiller(Vector<ProfilerOverlay::PreciseRow>::type& _rows, GUILayout& _labelLayout, GUILayout& _contentLayout, GUIWidget& _widget)
+		PreciseRowFiller(Vector<ProfilerOverlay::PreciseRow>& _rows, GUILayout& _labelLayout, GUILayout& _contentLayout, GUIWidget& _widget)
 			:rows(_rows), curIdx(0), labelLayout(_labelLayout), contentLayout(_contentLayout), widget(_widget)
 			:rows(_rows), curIdx(0), labelLayout(_labelLayout), contentLayout(_contentLayout), widget(_widget)
 		{ }
 		{ }
 
 
@@ -419,7 +419,7 @@ namespace BansheeEngine
 		};
 		};
 
 
 		BasicRowFiller basicRowFiller(mBasicRows, *mBasicLayoutLabels, *mBasicLayoutContents, *mWidget);
 		BasicRowFiller basicRowFiller(mBasicRows, *mBasicLayoutLabels, *mBasicLayoutContents, *mWidget);
-		Stack<TodoBasic>::type todoBasic;
+		Stack<TodoBasic> todoBasic;
 
 
 		const CPUProfilerBasicSamplingEntry* basicRootEntries[NUM_ROOT_ENTRIES];
 		const CPUProfilerBasicSamplingEntry* basicRootEntries[NUM_ROOT_ENTRIES];
 		basicRootEntries[0] = &simBasicRootEntry;
 		basicRootEntries[0] = &simBasicRootEntry;
@@ -449,7 +449,7 @@ namespace BansheeEngine
 		}
 		}
 
 
 		PreciseRowFiller preciseRowFiller(mPreciseRows, *mBasicLayoutLabels, *mBasicLayoutContents, *mWidget);
 		PreciseRowFiller preciseRowFiller(mPreciseRows, *mBasicLayoutLabels, *mBasicLayoutContents, *mWidget);
-		Stack<TodoPrecise>::type todoPrecise;
+		Stack<TodoPrecise> todoPrecise;
 
 
 		const CPUProfilerPreciseSamplingEntry* preciseRootEntries[NUM_ROOT_ENTRIES];
 		const CPUProfilerPreciseSamplingEntry* preciseRootEntries[NUM_ROOT_ENTRIES];
 		preciseRootEntries[0] = &simPreciseRootEntry;
 		preciseRootEntries[0] = &simPreciseRootEntry;

+ 4 - 4
BansheeEngine/Source/BsTextSprite.cpp

@@ -130,7 +130,7 @@ namespace BansheeEngine
 		UINT32 numLines = textData.getNumLines();
 		UINT32 numLines = textData.getNumLines();
 		UINT32 newNumQuads = textData.getNumQuadsForPage(page);
 		UINT32 newNumQuads = textData.getNumQuadsForPage(page);
 
 
-		Vector<Vector2I>::type alignmentOffsets = getAlignmentOffsets(textData, width, height, horzAlign, vertAlign);
+		Vector<Vector2I> alignmentOffsets = getAlignmentOffsets(textData, width, height, horzAlign, vertAlign);
 		Vector2I offset = getAnchorOffset(anchor, width, height);
 		Vector2I offset = getAnchorOffset(anchor, width, height);
 
 
 		UINT32 quadOffset = 0;
 		UINT32 quadOffset = 0;
@@ -160,7 +160,7 @@ namespace BansheeEngine
 		UINT32 numLines = textData.getNumLines();
 		UINT32 numLines = textData.getNumLines();
 		UINT32 numPages = textData.getNumPages();
 		UINT32 numPages = textData.getNumPages();
 
 
-		Vector<Vector2I>::type alignmentOffsets = getAlignmentOffsets(textData, width, height, horzAlign, vertAlign);
+		Vector<Vector2I> alignmentOffsets = getAlignmentOffsets(textData, width, height, horzAlign, vertAlign);
 		Vector2I offset = getAnchorOffset(anchor, width, height);
 		Vector2I offset = getAnchorOffset(anchor, width, height);
 
 
 		UINT32 quadOffset = 0;
 		UINT32 quadOffset = 0;
@@ -188,7 +188,7 @@ namespace BansheeEngine
 		return quadOffset;
 		return quadOffset;
 	}
 	}
 
 
-	Vector<Vector2I>::type TextSprite::getAlignmentOffsets(const TextData& textData, 
+	Vector<Vector2I> TextSprite::getAlignmentOffsets(const TextData& textData, 
 		UINT32 width, UINT32 height, TextHorzAlign horzAlign, TextVertAlign vertAlign)
 		UINT32 width, UINT32 height, TextHorzAlign horzAlign, TextVertAlign vertAlign)
 	{
 	{
 		UINT32 numLines = textData.getNumLines();
 		UINT32 numLines = textData.getNumLines();
@@ -217,7 +217,7 @@ namespace BansheeEngine
 
 
 		// Calc horizontal alignment offset
 		// Calc horizontal alignment offset
 		UINT32 curY = 0;
 		UINT32 curY = 0;
-		Vector<Vector2I>::type lineOffsets;
+		Vector<Vector2I> lineOffsets;
 		for(UINT32 i = 0; i < numLines; i++)
 		for(UINT32 i = 0; i < numLines; i++)
 		{
 		{
 			const TextData::TextLine& line = textData.getLine(i);
 			const TextData::TextLine& line = textData.getLine(i);

+ 7 - 7
BansheeForwardRenderer/Source/BsForwardRenderer.cpp

@@ -46,16 +46,16 @@ namespace BansheeEngine
 		gBsSceneManager().updateRenderableBounds();
 		gBsSceneManager().updateRenderableBounds();
 
 
 		CoreAccessor& coreAccessor = gCoreAccessor();
 		CoreAccessor& coreAccessor = gCoreAccessor();
-		const Vector<HCamera>::type& allCameras = gBsSceneManager().getAllCameras();
+		const Vector<HCamera>& allCameras = gBsSceneManager().getAllCameras();
 
 
 		struct RenderTargetRenderInfo
 		struct RenderTargetRenderInfo
 		{
 		{
 			RenderTargetPtr target;
 			RenderTargetPtr target;
-			Vector<HCamera>::type cameras;
+			Vector<HCamera> cameras;
 		};
 		};
 
 
 		// Find all unique render targets
 		// Find all unique render targets
-		Vector<RenderTargetRenderInfo>::type camerasPerRenderTarget;
+		Vector<RenderTargetRenderInfo> camerasPerRenderTarget;
 		for(auto& camera : allCameras)
 		for(auto& camera : allCameras)
 		{
 		{
 			RenderTargetPtr target = camera->getViewport()->getTarget();
 			RenderTargetPtr target = camera->getViewport()->getTarget();
@@ -78,7 +78,7 @@ namespace BansheeEngine
 
 
 		for(auto& camerasPerTarget : camerasPerRenderTarget)
 		for(auto& camerasPerTarget : camerasPerRenderTarget)
 		{
 		{
-			Vector<HCamera>::type& cameras = camerasPerTarget.cameras;
+			Vector<HCamera>& cameras = camerasPerTarget.cameras;
 
 
 			std::sort(begin(cameras), end(cameras), cameraComparer);
 			std::sort(begin(cameras), end(cameras), cameraComparer);
 		}
 		}
@@ -90,7 +90,7 @@ namespace BansheeEngine
 		for(auto& camerasPerTarget : camerasPerRenderTarget)
 		for(auto& camerasPerTarget : camerasPerRenderTarget)
 		{
 		{
 			RenderTargetPtr target = camerasPerTarget.target;
 			RenderTargetPtr target = camerasPerTarget.target;
-			const Vector<HCamera>::type& cameras = camerasPerTarget.cameras;
+			const Vector<HCamera>& cameras = camerasPerTarget.cameras;
 
 
 			coreAccessor.beginRender();
 			coreAccessor.beginRender();
 
 
@@ -126,7 +126,7 @@ namespace BansheeEngine
 	{
 	{
 		gProfiler().beginSample("renderC");
 		gProfiler().beginSample("renderC");
 
 
-		Vector<HRenderable>::type allRenderables;
+		Vector<HRenderable> allRenderables;
 		
 		
 		if(!camera->getIgnoreSceneRenderables())
 		if(!camera->getIgnoreSceneRenderables())
 			allRenderables = gBsSceneManager().getVisibleRenderables(camera);
 			allRenderables = gBsSceneManager().getVisibleRenderables(camera);
@@ -175,7 +175,7 @@ namespace BansheeEngine
 
 
 		// TODO - Material queue is completely ignored
 		// TODO - Material queue is completely ignored
 		mRenderQueue->sort();
 		mRenderQueue->sort();
-		const Vector<SortedRenderOp>::type& sortedROps =  mRenderQueue->getSortedRenderOps();
+		const Vector<SortedRenderOp>& sortedROps =  mRenderQueue->getSortedRenderOps();
 
 
 		gProfiler().endSample("renderF");
 		gProfiler().endSample("renderF");
 
 

+ 4 - 4
BansheeMono/Include/BsMonoAssembly.h

@@ -34,7 +34,7 @@ namespace BansheeEngine
 
 
 		MonoClass* getClass(const String& namespaceName, const String& name) const;
 		MonoClass* getClass(const String& namespaceName, const String& name) const;
 		MonoClass* getClass(::MonoClass* rawMonoClass) const;
 		MonoClass* getClass(::MonoClass* rawMonoClass) const;
-		const Vector<MonoClass*>::type& getAllClasses() const;
+		const Vector<MonoClass*>& getAllClasses() const;
 
 
 		void invoke(const String& functionName);
 		void invoke(const String& functionName);
 
 
@@ -55,10 +55,10 @@ namespace BansheeEngine
 		bool mIsLoaded;
 		bool mIsLoaded;
 		bool mIsDependency;
 		bool mIsDependency;
 		
 		
-		mutable UnorderedMap<ClassId, MonoClass*, ClassId::Hash, ClassId::Equals>::type mClasses;
-		mutable UnorderedMap<::MonoClass*, MonoClass*>::type mClassesByRaw;
+		mutable UnorderedMap<ClassId, MonoClass*, ClassId::Hash, ClassId::Equals> mClasses;
+		mutable UnorderedMap<::MonoClass*, MonoClass*> mClassesByRaw;
 
 
 		mutable bool mHaveCachedClassList;
 		mutable bool mHaveCachedClassList;
-		mutable Vector<MonoClass*>::type mCachedClassList;
+		mutable Vector<MonoClass*> mCachedClassList;
 	};
 	};
 }
 }

+ 5 - 5
BansheeMono/Include/BsMonoClass.h

@@ -51,7 +51,7 @@ namespace BansheeEngine
 		 *
 		 *
 		 * @note	Be aware this will not include the fields of any base classes.
 		 * @note	Be aware this will not include the fields of any base classes.
 		 */
 		 */
-		const Vector<MonoField*>::type getAllFields() const;
+		const Vector<MonoField*> getAllFields() const;
 
 
 		bool hasAttribute(MonoClass* monoClass) const;
 		bool hasAttribute(MonoClass* monoClass) const;
 		bool hasField(const String& name) const;
 		bool hasField(const String& name) const;
@@ -77,11 +77,11 @@ namespace BansheeEngine
 		String mTypeName;
 		String mTypeName;
 		String mFullName;
 		String mFullName;
 
 
-		UnorderedMap<MethodId, MonoMethod*, MethodId::Hash, MethodId::Equals>::type mMethods; 
-		mutable UnorderedMap<String, MonoField*>::type mFields; 
-		UnorderedMap<String, MonoProperty*>::type mProperties;
+		UnorderedMap<MethodId, MonoMethod*, MethodId::Hash, MethodId::Equals> mMethods; 
+		mutable UnorderedMap<String, MonoField*> mFields; 
+		UnorderedMap<String, MonoProperty*> mProperties;
 
 
 		mutable bool mHasCachedFields;
 		mutable bool mHasCachedFields;
-		mutable Vector<MonoField*>::type mCachedFieldList;
+		mutable Vector<MonoField*> mCachedFieldList;
 	};
 	};
 }
 }

+ 3 - 3
BansheeMono/Include/BsMonoManager.h

@@ -58,13 +58,13 @@ namespace BansheeEngine
 		static const String MONO_LIB_DIR;
 		static const String MONO_LIB_DIR;
 		static const String MONO_ETC_DIR;
 		static const String MONO_ETC_DIR;
 
 
-		static UnorderedMap<String, Vector<ScriptMeta*>::type>::type& getTypesToInitialize()
+		static UnorderedMap<String, Vector<ScriptMeta*>>& getTypesToInitialize()
 		{
 		{
-			static UnorderedMap<String, Vector<ScriptMeta*>::type>::type mTypesToInitialize;
+			static UnorderedMap<String, Vector<ScriptMeta*>> mTypesToInitialize;
 			return mTypesToInitialize;
 			return mTypesToInitialize;
 		}
 		}
 
 
-		UnorderedMap<String, MonoAssembly*>::type mAssemblies;
+		UnorderedMap<String, MonoAssembly*> mAssemblies;
 		MonoDomain* mDomain;
 		MonoDomain* mDomain;
 		bool mIsCoreLoaded;
 		bool mIsCoreLoaded;
 	};
 	};

+ 1 - 1
BansheeMono/Source/BsMonoAssembly.cpp

@@ -173,7 +173,7 @@ namespace BansheeEngine
 		return newClass;
 		return newClass;
 	}
 	}
 
 
-	const Vector<MonoClass*>::type& MonoAssembly::getAllClasses() const
+	const Vector<MonoClass*>& MonoAssembly::getAllClasses() const
 	{
 	{
 		if(mHaveCachedClassList)
 		if(mHaveCachedClassList)
 			return mCachedClassList;
 			return mCachedClassList;

+ 1 - 1
BansheeMono/Source/BsMonoClass.cpp

@@ -159,7 +159,7 @@ namespace BansheeEngine
 		return *newProperty;
 		return *newProperty;
 	}
 	}
 
 
-	const Vector<MonoField*>::type MonoClass::getAllFields() const
+	const Vector<MonoField*> MonoClass::getAllFields() const
 	{
 	{
 		if(mHasCachedFields)
 		if(mHasCachedFields)
 			return mCachedFieldList;
 			return mCachedFieldList;

+ 2 - 2
BansheeMono/Source/BsMonoManager.cpp

@@ -65,7 +65,7 @@ namespace BansheeEngine
 			assembly->load(path, name);
 			assembly->load(path, name);
 
 
 			// Fully initialize all types that use this assembly
 			// Fully initialize all types that use this assembly
-			Vector<ScriptMeta*>::type& mTypeMetas = getTypesToInitialize()[name];
+			Vector<ScriptMeta*>& mTypeMetas = getTypesToInitialize()[name];
 			for(auto& meta : mTypeMetas)
 			for(auto& meta : mTypeMetas)
 			{
 			{
 				meta->scriptClass = assembly->getClass(meta->ns, meta->name);
 				meta->scriptClass = assembly->getClass(meta->ns, meta->name);
@@ -121,7 +121,7 @@ namespace BansheeEngine
 
 
 	void MonoManager::registerScriptType(ScriptMeta* metaData)
 	void MonoManager::registerScriptType(ScriptMeta* metaData)
 	{
 	{
-		Vector<ScriptMeta*>::type& mMetas = getTypesToInitialize()[metaData->assembly];
+		Vector<ScriptMeta*>& mMetas = getTypesToInitialize()[metaData->assembly];
 		mMetas.push_back(metaData);
 		mMetas.push_back(metaData);
 	}
 	}
 
 

+ 4 - 4
BansheeOctreeSM/Include/BsOctreeSceneManager.h

@@ -11,16 +11,16 @@ namespace BansheeEngine
 		OctreeSceneManager() {}
 		OctreeSceneManager() {}
 		~OctreeSceneManager() {}
 		~OctreeSceneManager() {}
 
 
-		const Vector<HCamera>::type& getAllCameras() const { return mCachedCameras; }
+		const Vector<HCamera>& getAllCameras() const { return mCachedCameras; }
 
 
-		Vector<HRenderable>::type getVisibleRenderables(const HCamera& camera) const;
+		Vector<HRenderable> getVisibleRenderables(const HCamera& camera) const;
 
 
 		void updateRenderableBounds();
 		void updateRenderableBounds();
 	private:
 	private:
 		void notifyComponentAdded(const HComponent& component);
 		void notifyComponentAdded(const HComponent& component);
 		void notifyComponentRemoved(const HComponent& component);
 		void notifyComponentRemoved(const HComponent& component);
 
 
-		Vector<HCamera>::type mCachedCameras;
-		Vector<HRenderable>::type mRenderables;
+		Vector<HCamera> mCachedCameras;
+		Vector<HRenderable> mRenderables;
 	};
 	};
 }
 }

+ 3 - 3
BansheeOctreeSM/Source/BsOctreeSceneManager.cpp

@@ -7,13 +7,13 @@
 
 
 namespace BansheeEngine
 namespace BansheeEngine
 {
 {
-	Vector<HRenderable>::type OctreeSceneManager::getVisibleRenderables(const HCamera& camera) const
+	Vector<HRenderable> OctreeSceneManager::getVisibleRenderables(const HCamera& camera) const
 	{
 	{
 		// TODO - Cull invisible objects
 		// TODO - Cull invisible objects
 
 
-		Vector<HRenderable>::type renderables;
+		Vector<HRenderable> renderables;
 
 
-		Stack<HSceneObject>::type todo;
+		Stack<HSceneObject> todo;
 		todo.push(mRootNode);
 		todo.push(mRootNode);
 
 
 		while(!todo.empty())
 		while(!todo.empty())

+ 8 - 8
BoostPort.txt

@@ -1,7 +1,3 @@
- - Remove ::type extensions from vectors
-
---------------
-Other:
  - std::function allocates memory yet I'm not using a custom allocator for it. Replace std::function with custom Function method.
  - std::function allocates memory yet I'm not using a custom allocator for it. Replace std::function with custom Function method.
  - Ability to construct Module using startUp without having to do allocation outside of it
  - Ability to construct Module using startUp without having to do allocation outside of it
 
 
@@ -13,8 +9,12 @@ Other:
 cm_shared_ptr should use && for parameter forwarding?
 cm_shared_ptr should use && for parameter forwarding?
 cm_core_ptr too
 cm_core_ptr too
 
 
- FreeImaged.lib -> FreeImage.lib
-freetypeD -> freetype
-all fbx libs -> libfbxsdk-md.lib
 
 
-Update Dependencies doc
+Figure out how to properly deal with events and recursion. e.g. when slot is disconnected during an event callback
+
+There was a crash in release mode - Maybe this was due to the event error, mabye not. Test.
+
+Test DX9 and OpenGL
+
+
+Create a proper git repo of dependencies folder

+ 1 - 1
CamelotCore/Include/CmApplication.h

@@ -25,7 +25,7 @@ namespace BansheeEngine
 
 
 		RENDER_WINDOW_DESC primaryWindowDesc;
 		RENDER_WINDOW_DESC primaryWindowDesc;
 
 
-		Vector<String>::type importers;
+		Vector<String> importers;
 	};
 	};
 
 
 	class CM_EXPORT Application
 	class CM_EXPORT Application

+ 9 - 15
CamelotCore/Include/CmCPUProfiler.h

@@ -9,16 +9,10 @@ namespace BansheeEngine
 	typedef std::basic_string<char, std::char_traits<char>, StdAlloc<char, ProfilerAlloc>> ProfilerString; 
 	typedef std::basic_string<char, std::char_traits<char>, StdAlloc<char, ProfilerAlloc>> ProfilerString; 
 
 
 	template <typename T, typename A = StdAlloc<T, ProfilerAlloc>> 
 	template <typename T, typename A = StdAlloc<T, ProfilerAlloc>> 
-	struct ProfilerVector 
-	{ 
-		typedef typename std::vector<T, A> type;    
-	}; 
+	using ProfilerVector = std::vector<T, A>;
 
 
 	template <typename T, typename A = StdAlloc<T, ProfilerAlloc>> 
 	template <typename T, typename A = StdAlloc<T, ProfilerAlloc>> 
-	struct ProfilerStack
-	{ 
-		typedef typename std::stack<T, std::deque<T, A>> type;    
-	}; 
+	using ProfilerStack = std::stack<T, std::deque<T, A>>;
 
 
 	/**
 	/**
 	 * @brief	Provides various performance measuring methods
 	 * @brief	Provides various performance measuring methods
@@ -84,7 +78,7 @@ namespace BansheeEngine
 
 
 		struct ProfileData
 		struct ProfileData
 		{
 		{
-			ProfilerVector<ProfileSample>::type samples;
+			ProfilerVector<ProfileSample> samples;
 			Timer timer;
 			Timer timer;
 
 
 			UINT64 memAllocs;
 			UINT64 memAllocs;
@@ -97,7 +91,7 @@ namespace BansheeEngine
 
 
 		struct PreciseProfileData
 		struct PreciseProfileData
 		{
 		{
-			ProfilerVector<PreciseProfileSample>::type samples;
+			ProfilerVector<PreciseProfileSample> samples;
 			TimerPrecise timer;
 			TimerPrecise timer;
 
 
 			UINT64 memAllocs;
 			UINT64 memAllocs;
@@ -121,7 +115,7 @@ namespace BansheeEngine
 			ProfileData basic;
 			ProfileData basic;
 			PreciseProfileData precise;
 			PreciseProfileData precise;
 
 
-			ProfilerVector<ProfiledBlock*>::type children;
+			ProfilerVector<ProfiledBlock*> children;
 
 
 			ProfiledBlock* findChild(const ProfilerString& name) const;
 			ProfiledBlock* findChild(const ProfilerString& name) const;
 		};
 		};
@@ -155,7 +149,7 @@ namespace BansheeEngine
 
 
 			ProfiledBlock* rootBlock;
 			ProfiledBlock* rootBlock;
 
 
-			ProfilerStack<ActiveBlock>::type activeBlocks;
+			ProfilerStack<ActiveBlock> activeBlocks;
 			ActiveBlock activeBlock;
 			ActiveBlock activeBlock;
 
 
 			void begin(const ProfilerString& _name);
 			void begin(const ProfilerString& _name);
@@ -244,7 +238,7 @@ namespace BansheeEngine
 		UINT64 mBasicSamplingOverheadCycles;
 		UINT64 mBasicSamplingOverheadCycles;
 		UINT64 mPreciseSamplingOverheadCycles;
 		UINT64 mPreciseSamplingOverheadCycles;
 
 
-		ProfilerVector<ThreadInfo*>::type mActiveThreads;
+		ProfilerVector<ThreadInfo*> mActiveThreads;
 		CM_MUTEX(mThreadSync);
 		CM_MUTEX(mThreadSync);
 
 
 		void estimateTimerOverhead();
 		void estimateTimerOverhead();
@@ -275,7 +269,7 @@ namespace BansheeEngine
 			float pctOfParent;
 			float pctOfParent;
 		} data;
 		} data;
 
 
-		ProfilerVector<CPUProfilerBasicSamplingEntry>::type childEntries;
+		ProfilerVector<CPUProfilerBasicSamplingEntry> childEntries;
 	};
 	};
 
 
 	struct CM_EXPORT CPUProfilerPreciseSamplingEntry
 	struct CM_EXPORT CPUProfilerPreciseSamplingEntry
@@ -303,7 +297,7 @@ namespace BansheeEngine
 			float pctOfParent;
 			float pctOfParent;
 		} data;
 		} data;
 
 
-		ProfilerVector<CPUProfilerPreciseSamplingEntry>::type childEntries;
+		ProfilerVector<CPUProfilerPreciseSamplingEntry> childEntries;
 	};
 	};
 
 
 	class CM_EXPORT CPUProfilerReport
 	class CM_EXPORT CPUProfilerReport

+ 8 - 8
CamelotCore/Include/CmCommandQueue.h

@@ -156,12 +156,12 @@ namespace BansheeEngine
 		 * @param	notifyCallback  	Callback that will be called if a command that has "notifyOnComplete" flag set.
 		 * @param	notifyCallback  	Callback that will be called if a command that has "notifyOnComplete" flag set.
 		 * 								The callback will receive "callbackId" of the command.
 		 * 								The callback will receive "callbackId" of the command.
 		 */
 		 */
-		void playbackWithNotify(Queue<QueuedCommand>::type* commands, std::function<void(UINT32)> notifyCallback);
+		void playbackWithNotify(Queue<QueuedCommand>* commands, std::function<void(UINT32)> notifyCallback);
 
 
 		/**
 		/**
 		 * @brief	Executes all provided commands one by one in order. To get the commands you should call flush().
 		 * @brief	Executes all provided commands one by one in order. To get the commands you should call flush().
 		 */
 		 */
-		void playback(Queue<QueuedCommand>::type* commands);
+		void playback(Queue<QueuedCommand>* commands);
 
 
 		/**
 		/**
 		 * @brief	Allows you to set a breakpoint that will trigger when the specified command is executed.
 		 * @brief	Allows you to set a breakpoint that will trigger when the specified command is executed.
@@ -213,7 +213,7 @@ namespace BansheeEngine
 		 * @brief	Returns a copy of all queued commands and makes room for new ones. Must be called from the thread
 		 * @brief	Returns a copy of all queued commands and makes room for new ones. Must be called from the thread
 		 * 			that created the command queue. Returned commands MUST be passed to "playback" method.
 		 * 			that created the command queue. Returned commands MUST be passed to "playback" method.
 		 */
 		 */
-		BansheeEngine::Queue<QueuedCommand>::type* flush();
+		BansheeEngine::Queue<QueuedCommand>* flush();
 
 
 		/**
 		/**
 		 * @brief	Cancels all currently queued commands.
 		 * @brief	Cancels all currently queued commands.
@@ -233,8 +233,8 @@ namespace BansheeEngine
 		void throwInvalidThreadException(const String& message) const;
 		void throwInvalidThreadException(const String& message) const;
 
 
 	private:
 	private:
-		BansheeEngine::Queue<QueuedCommand>::type* mCommands;
-		Stack<BansheeEngine::Queue<QueuedCommand>::type*>::type mEmptyCommandQueues; // List of empty queues for reuse
+		BansheeEngine::Queue<QueuedCommand>* mCommands;
+		Stack<BansheeEngine::Queue<QueuedCommand>*> mEmptyCommandQueues; // List of empty queues for reuse
 
 
 		CM_THREAD_ID_TYPE mMyThreadId;
 		CM_THREAD_ID_TYPE mMyThreadId;
 
 
@@ -269,7 +269,7 @@ namespace BansheeEngine
 		UINT32 mCommandQueueIdx;
 		UINT32 mCommandQueueIdx;
 
 
 		static UINT32 MaxCommandQueueIdx;
 		static UINT32 MaxCommandQueueIdx;
-		static UnorderedSet<QueueBreakpoint, QueueBreakpoint::HashFunction, QueueBreakpoint::EqualFunction>::type SetBreakpoints;
+		static UnorderedSet<QueueBreakpoint, QueueBreakpoint::HashFunction, QueueBreakpoint::EqualFunction> SetBreakpoints;
 		CM_STATIC_MUTEX(CommandQueueBreakpointMutex);
 		CM_STATIC_MUTEX(CommandQueueBreakpointMutex);
 
 
 		/**
 		/**
@@ -345,7 +345,7 @@ namespace BansheeEngine
 		/**
 		/**
 		 * @copydoc CommandQueueBase::flush
 		 * @copydoc CommandQueueBase::flush
 		 */
 		 */
-		BansheeEngine::Queue<QueuedCommand>::type* flush()
+		BansheeEngine::Queue<QueuedCommand>* flush()
 		{
 		{
 #if CM_DEBUG_MODE
 #if CM_DEBUG_MODE
 #if CM_THREAD_SUPPORT != 0
 #if CM_THREAD_SUPPORT != 0
@@ -355,7 +355,7 @@ namespace BansheeEngine
 #endif
 #endif
 
 
 			lock();
 			lock();
-			BansheeEngine::Queue<QueuedCommand>::type* commands = CommandQueueBase::flush();
+			BansheeEngine::Queue<QueuedCommand>* commands = CommandQueueBase::flush();
 			unlock();
 			unlock();
 
 
 			return commands;
 			return commands;

+ 1 - 1
CamelotCore/Include/CmCommonEnums.h

@@ -346,7 +346,7 @@ namespace BansheeEngine {
 	};
 	};
     
     
 	/// Name / value parameter pair (first = name, second = value)
 	/// Name / value parameter pair (first = name, second = value)
-	typedef Map<String, String>::type NameValuePairList;
+	typedef Map<String, String> NameValuePairList;
 
 
 	/** @} */
 	/** @} */
 }
 }

+ 1 - 1
CamelotCore/Include/CmCoreObjectManager.h

@@ -33,7 +33,7 @@ namespace BansheeEngine
 
 
 	private:
 	private:
 		UINT64 mNextAvailableID;
 		UINT64 mNextAvailableID;
-		Map<UINT64, CoreObject*>::type mObjects;
+		Map<UINT64, CoreObject*> mObjects;
 		CM_MUTEX(mObjectsMutex);
 		CM_MUTEX(mObjectsMutex);
 	};
 	};
 }
 }

+ 2 - 2
CamelotCore/Include/CmCoreThread.h

@@ -112,7 +112,7 @@ private:
 	UINT32 mActiveFrameAlloc;
 	UINT32 mActiveFrameAlloc;
 
 
 	static CM_THREADLOCAL AccessorContainer* mAccessor;
 	static CM_THREADLOCAL AccessorContainer* mAccessor;
-	Vector<AccessorContainer*>::type mAccessors;
+	Vector<AccessorContainer*> mAccessors;
 
 
 	volatile bool mCoreThreadShutdown;
 	volatile bool mCoreThreadShutdown;
 
 
@@ -126,7 +126,7 @@ private:
 	CommandQueue<CommandQueueSync>* mCommandQueue;
 	CommandQueue<CommandQueueSync>* mCommandQueue;
 
 
 	UINT32 mMaxCommandNotifyId; /**< ID that will be assigned to the next command with a notifier callback. */
 	UINT32 mMaxCommandNotifyId; /**< ID that will be assigned to the next command with a notifier callback. */
-	Vector<UINT32>::type mCommandsCompleted; /**< Completed commands that have notifier callbacks set up */
+	Vector<UINT32> mCommandsCompleted; /**< Completed commands that have notifier callbacks set up */
 
 
 	SyncedCoreAccessor* mSyncedCoreAccessor;
 	SyncedCoreAccessor* mSyncedCoreAccessor;
 
 

+ 1 - 1
CamelotCore/Include/CmDeferredCallManager.h

@@ -30,6 +30,6 @@ namespace BansheeEngine
 	private:
 	private:
 		friend class DeferredCall;
 		friend class DeferredCall;
 
 
-		Vector<std::function<void()>>::type mCallbacks;
+		Vector<std::function<void()>> mCallbacks;
 	};
 	};
 }
 }

+ 5 - 5
CamelotCore/Include/CmFont.h

@@ -10,7 +10,7 @@ namespace BansheeEngine
 	{
 	{
 		UINT32 size;
 		UINT32 size;
 		FONT_DESC fontDesc;
 		FONT_DESC fontDesc;
-		Vector<HTexture>::type texturePages;
+		Vector<HTexture> texturePages;
 
 
 		const CHAR_DESC& getCharDesc(UINT32 charId) const;
 		const CHAR_DESC& getCharDesc(UINT32 charId) const;
 
 
@@ -33,7 +33,7 @@ namespace BansheeEngine
 	public:
 	public:
 		virtual ~Font();
 		virtual ~Font();
 
 
-		void initialize(const Vector<FontData>::type& fontData);
+		void initialize(const Vector<FontData>& fontData);
 
 
 		const FontData* getFontDataForSize(UINT32 size) const;
 		const FontData* getFontDataForSize(UINT32 size) const;
 		INT32 getClosestAvailableSize(UINT32 size) const;
 		INT32 getClosestAvailableSize(UINT32 size) const;
@@ -44,7 +44,7 @@ namespace BansheeEngine
 		Font();
 		Font();
 
 
 	private:
 	private:
-		Map<UINT32, FontData>::type mFontDataPerSize;
+		Map<UINT32, FontData> mFontDataPerSize;
 
 
 		/************************************************************************/
 		/************************************************************************/
 		/* 								SERIALIZATION                      		*/
 		/* 								SERIALIZATION                      		*/
@@ -59,7 +59,7 @@ namespace BansheeEngine
 		/************************************************************************/
 		/************************************************************************/
 		
 		
 	public:
 	public:
-		static HFont create(const Vector<FontData>::type& fontInitData);
-		static FontPtr _createPtr(const Vector<FontData>::type& fontInitData);
+		static HFont create(const Vector<FontData>& fontInitData);
+		static FontPtr _createPtr(const Vector<FontData>& fontInitData);
 	};
 	};
 }
 }

+ 6 - 6
CamelotCore/Include/CmFontDesc.h

@@ -20,12 +20,12 @@ namespace BansheeEngine
 		INT32 xOffset, yOffset;
 		INT32 xOffset, yOffset;
 		INT32 xAdvance, yAdvance;
 		INT32 xAdvance, yAdvance;
 
 
-		Vector<KerningPair>::type kerningPairs;
+		Vector<KerningPair> kerningPairs;
 	};
 	};
 
 
 	struct FONT_DESC
 	struct FONT_DESC
 	{
 	{
-		Map<UINT32, CHAR_DESC>::type characters;
+		Map<UINT32, CHAR_DESC> characters;
 		INT32 baselineOffset;
 		INT32 baselineOffset;
 		UINT32 lineHeight;
 		UINT32 lineHeight;
 		CHAR_DESC missingGlyph;
 		CHAR_DESC missingGlyph;
@@ -96,7 +96,7 @@ namespace BansheeEngine
 				+ sizeof(data.yOffset)
 				+ sizeof(data.yOffset)
 				+ sizeof(data.xAdvance)
 				+ sizeof(data.xAdvance)
 				+ sizeof(data.yAdvance)
 				+ sizeof(data.yAdvance)
-				+ RTTIPlainType<Vector<KerningPair>::type>::getDynamicSize(data.kerningPairs);
+				+ RTTIPlainType<Vector<KerningPair>>::getDynamicSize(data.kerningPairs);
 
 
 			dataSize += sizeof(UINT32);
 			dataSize += sizeof(UINT32);
 
 
@@ -116,7 +116,7 @@ namespace BansheeEngine
 			memcpy(memory, &size, sizeof(UINT32));
 			memcpy(memory, &size, sizeof(UINT32));
 			memory += sizeof(UINT32);
 			memory += sizeof(UINT32);
 			
 			
-			RTTIPlainType<Map<UINT32, CHAR_DESC>::type>::toMemory(data.characters, memory);
+			RTTIPlainType<Map<UINT32, CHAR_DESC>>::toMemory(data.characters, memory);
 			rttiWriteElem(data.baselineOffset, memory);
 			rttiWriteElem(data.baselineOffset, memory);
 			rttiWriteElem(data.lineHeight, memory);
 			rttiWriteElem(data.lineHeight, memory);
 			rttiWriteElem(data.missingGlyph, memory);
 			rttiWriteElem(data.missingGlyph, memory);
@@ -129,7 +129,7 @@ namespace BansheeEngine
 			memcpy(&size, memory, sizeof(UINT32)); 
 			memcpy(&size, memory, sizeof(UINT32)); 
 			memory += sizeof(UINT32);
 			memory += sizeof(UINT32);
 
 
-			RTTIPlainType<Map<UINT32, CHAR_DESC>::type>::fromMemory(data.characters, memory);
+			RTTIPlainType<Map<UINT32, CHAR_DESC>>::fromMemory(data.characters, memory);
 			rttiReadElem(data.baselineOffset, memory);
 			rttiReadElem(data.baselineOffset, memory);
 			rttiReadElem(data.lineHeight, memory);
 			rttiReadElem(data.lineHeight, memory);
 			rttiReadElem(data.missingGlyph, memory);
 			rttiReadElem(data.missingGlyph, memory);
@@ -141,7 +141,7 @@ namespace BansheeEngine
 		static UINT32 getDynamicSize(const FONT_DESC& data)	
 		static UINT32 getDynamicSize(const FONT_DESC& data)	
 		{ 
 		{ 
 			UINT64 dataSize = sizeof(UINT32);
 			UINT64 dataSize = sizeof(UINT32);
-			dataSize += RTTIPlainType<Map<UINT32, CHAR_DESC>::type>::getDynamicSize(data.characters);
+			dataSize += RTTIPlainType<Map<UINT32, CHAR_DESC>>::getDynamicSize(data.characters);
 			dataSize += rttiGetElemSize(data.baselineOffset);
 			dataSize += rttiGetElemSize(data.baselineOffset);
 			dataSize += rttiGetElemSize(data.lineHeight);
 			dataSize += rttiGetElemSize(data.lineHeight);
 			dataSize += rttiGetElemSize(data.missingGlyph);
 			dataSize += rttiGetElemSize(data.missingGlyph);

+ 5 - 5
CamelotCore/Include/CmFontImportOptions.h

@@ -11,14 +11,14 @@ namespace BansheeEngine
 	public:
 	public:
 		FontImportOptions();
 		FontImportOptions();
 
 
-		void setFontSizes(const Vector<UINT32>::type& fontSizes) { mFontSizes = fontSizes; }
+		void setFontSizes(const Vector<UINT32>& fontSizes) { mFontSizes = fontSizes; }
 		void addCharIndexRange(UINT32 from, UINT32 to);
 		void addCharIndexRange(UINT32 from, UINT32 to);
 		void clearCharIndexRanges();
 		void clearCharIndexRanges();
 		void setDPI(UINT32 dpi) { mDPI = dpi; }
 		void setDPI(UINT32 dpi) { mDPI = dpi; }
 		void setAntialiasing(bool enabled) { mAntialiasing = enabled; }
 		void setAntialiasing(bool enabled) { mAntialiasing = enabled; }
 
 
-		Vector<UINT32>::type getFontSizes() const { return mFontSizes; }
-		Vector<std::pair<UINT32, UINT32>>::type getCharIndexRanges() const { return mCharIndexRanges; }
+		Vector<UINT32> getFontSizes() const { return mFontSizes; }
+		Vector<std::pair<UINT32, UINT32>> getCharIndexRanges() const { return mCharIndexRanges; }
 		UINT32 getDPI() const { return mDPI; }
 		UINT32 getDPI() const { return mDPI; }
 		bool getAntialiasing() const { return mAntialiasing; }
 		bool getAntialiasing() const { return mAntialiasing; }
 
 
@@ -31,8 +31,8 @@ namespace BansheeEngine
 		virtual RTTITypeBase* getRTTI() const;
 		virtual RTTITypeBase* getRTTI() const;
 
 
 	private:
 	private:
-		Vector<UINT32>::type mFontSizes;
-		Vector<std::pair<UINT32, UINT32>>::type mCharIndexRanges;
+		Vector<UINT32> mFontSizes;
+		Vector<std::pair<UINT32, UINT32>> mCharIndexRanges;
 		UINT32 mDPI;
 		UINT32 mDPI;
 		bool mAntialiasing;
 		bool mAntialiasing;
 	};
 	};

+ 4 - 4
CamelotCore/Include/CmFontImportOptionsRTTI.h

@@ -9,11 +9,11 @@ namespace BansheeEngine
 	class CM_EXPORT FontImportOptionsRTTI : public RTTIType<FontImportOptions, IReflectable, FontImportOptionsRTTI>
 	class CM_EXPORT FontImportOptionsRTTI : public RTTIType<FontImportOptions, IReflectable, FontImportOptionsRTTI>
 	{
 	{
 	private:
 	private:
-		Vector<UINT32>::type& getFontSizes(FontImportOptions* obj) { return obj->mFontSizes; }
-		void setFontSizes(FontImportOptions* obj, Vector<UINT32>::type& value) { obj->mFontSizes = value; }
+		Vector<UINT32>& getFontSizes(FontImportOptions* obj) { return obj->mFontSizes; }
+		void setFontSizes(FontImportOptions* obj, Vector<UINT32>& value) { obj->mFontSizes = value; }
 
 
-		Vector<std::pair<UINT32, UINT32>>::type& getCharIndexRanges(FontImportOptions* obj) { return obj->mCharIndexRanges; }
-		void setCharIndexRanges(FontImportOptions* obj, Vector<std::pair<UINT32, UINT32>>::type& value) { obj->mCharIndexRanges = value; }
+		Vector<std::pair<UINT32, UINT32>>& getCharIndexRanges(FontImportOptions* obj) { return obj->mCharIndexRanges; }
+		void setCharIndexRanges(FontImportOptions* obj, Vector<std::pair<UINT32, UINT32>>& value) { obj->mCharIndexRanges = value; }
 
 
 		UINT32& getDPI(FontImportOptions* obj) { return obj->mDPI; }
 		UINT32& getDPI(FontImportOptions* obj) { return obj->mDPI; }
 		void setDPI(FontImportOptions* obj, UINT32& value) { obj->mDPI = value; }
 		void setDPI(FontImportOptions* obj, UINT32& value) { obj->mDPI = value; }

+ 1 - 1
CamelotCore/Include/CmFontManager.h

@@ -8,7 +8,7 @@ namespace BansheeEngine
 	class CM_EXPORT FontManager : public Module<FontManager>
 	class CM_EXPORT FontManager : public Module<FontManager>
 	{
 	{
 	public:
 	public:
-		FontPtr create(const Vector<FontData>::type& fontData) const;
+		FontPtr create(const Vector<FontData>& fontData) const;
 		FontPtr createEmpty() const;
 		FontPtr createEmpty() const;
 	};
 	};
 }
 }

+ 1 - 1
CamelotCore/Include/CmFontRTTI.h

@@ -80,7 +80,7 @@ namespace BansheeEngine
 	{
 	{
 		struct FontInitData
 		struct FontInitData
 		{
 		{
-			Vector<FontData>::type fontDataPerSize;
+			Vector<FontData> fontDataPerSize;
 		};
 		};
 
 
 	private:
 	private:

+ 4 - 4
CamelotCore/Include/CmGameObjectManager.h

@@ -65,12 +65,12 @@ namespace BansheeEngine
 
 
 	private:
 	private:
 		UINT64 mNextAvailableID; // 0 is not a valid ID
 		UINT64 mNextAvailableID; // 0 is not a valid ID
-		Map<UINT64, GameObjectHandleBase>::type mObjects;
+		Map<UINT64, GameObjectHandleBase> mObjects;
 
 
 		GameObject* mActiveDeserializedObject;
 		GameObject* mActiveDeserializedObject;
 		bool mIsDeserializationActive;
 		bool mIsDeserializationActive;
-		Map<UINT64, UINT64>::type mIdMapping;
-		Vector<GameObjectHandleBase>::type mUnresolvedHandles;
-		Vector<std::function<void()>>::type mEndCallbacks;
+		Map<UINT64, UINT64> mIdMapping;
+		Vector<GameObjectHandleBase> mUnresolvedHandles;
+		Vector<std::function<void()>> mEndCallbacks;
 	};
 	};
 }
 }

+ 1 - 1
CamelotCore/Include/CmGpuBuffer.h

@@ -172,7 +172,7 @@ namespace BansheeEngine
 			UINT32 refCount;
 			UINT32 refCount;
 		};
 		};
 
 
-		UnorderedMap<GPU_BUFFER_DESC, GpuBufferReference*, GpuBufferView::HashFunction, GpuBufferView::EqualFunction>::type mBufferViews;
+		UnorderedMap<GPU_BUFFER_DESC, GpuBufferReference*, GpuBufferView::HashFunction, GpuBufferView::EqualFunction> mBufferViews;
 
 
 	protected:
 	protected:
 		GpuBufferType mType;
 		GpuBufferType mType;

+ 5 - 5
CamelotCore/Include/CmGpuParamDesc.h

@@ -49,11 +49,11 @@ namespace BansheeEngine
 	 */
 	 */
 	struct GpuParamDesc
 	struct GpuParamDesc
 	{
 	{
-		Map<String, GpuParamBlockDesc>::type paramBlocks;
-		Map<String, GpuParamDataDesc>::type params;
+		Map<String, GpuParamBlockDesc> paramBlocks;
+		Map<String, GpuParamDataDesc> params;
 
 
-		Map<String, GpuParamObjectDesc>::type samplers;
-		Map<String, GpuParamObjectDesc>::type textures;
-		Map<String, GpuParamObjectDesc>::type buffers;
+		Map<String, GpuParamObjectDesc> samplers;
+		Map<String, GpuParamObjectDesc> textures;
+		Map<String, GpuParamObjectDesc> buffers;
 	};
 	};
 }
 }

+ 9 - 9
CamelotCore/Include/CmGpuParams.h

@@ -221,14 +221,14 @@ namespace BansheeEngine
 		HTexture* mTextures;
 		HTexture* mTextures;
 		HSamplerState* mSamplerStates;
 		HSamplerState* mSamplerStates;
 
 
-		mutable Map<String, GpuParamFloat>::type mFloatParams;
-		mutable Map<String, GpuParamVec2>::type mVec2Params;
-		mutable Map<String, GpuParamVec3>::type mVec3Params;
-		mutable Map<String, GpuParamVec4>::type mVec4Params;
-		mutable Map<String, GpuParamMat3>::type mMat3Params;
-		mutable Map<String, GpuParamMat4>::type mMat4Params;
-		mutable Map<String, GpuParamStruct>::type mStructParams;
-		mutable Map<String, GpuParamTexture>::type mTextureParams;
-		mutable Map<String, GpuParamSampState>::type mSampStateParams;
+		mutable Map<String, GpuParamFloat> mFloatParams;
+		mutable Map<String, GpuParamVec2> mVec2Params;
+		mutable Map<String, GpuParamVec3> mVec3Params;
+		mutable Map<String, GpuParamVec4> mVec4Params;
+		mutable Map<String, GpuParamMat3> mMat3Params;
+		mutable Map<String, GpuParamMat4> mMat4Params;
+		mutable Map<String, GpuParamStruct> mStructParams;
+		mutable Map<String, GpuParamTexture> mTextureParams;
+		mutable Map<String, GpuParamSampState> mSampStateParams;
 	};
 	};
 }
 }

部分文件因为文件数量过多而无法显示