Browse Source

Added SBansheeEditor

Marko Pintera 12 years ago
parent
commit
148d029dde

+ 134 - 0
BansheeEngine.sln

@@ -124,229 +124,363 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SBansheeEngine", "SBansheeE
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912} = {4F05EF0A-B8DE-424B-8848-6ECEE9D99912}
 	EndProjectSection
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SBansheeEditor", "SBansheeEditor\SBansheeEditor.vcxproj", "{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}"
+	ProjectSection(ProjectDependencies) = postProject
+		{A4865386-A95B-41BE-B016-4674F6B4272E} = {A4865386-A95B-41BE-B016-4674F6B4272E}
+	EndProjectSection
+EndProject
 Global
 	GlobalSection(SubversionScc) = preSolution
 		Svn-Managed = True
 		Manager = AnkhSVN - Subversion Support for Visual Studio
 	EndGlobalSection
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Mixed Platforms = Debug|Mixed Platforms
 		Debug|Win32 = Debug|Win32
 		Debug|x64 = Debug|x64
+		DebugRelease|Mixed Platforms = DebugRelease|Mixed Platforms
 		DebugRelease|Win32 = DebugRelease|Win32
 		DebugRelease|x64 = DebugRelease|x64
+		Release|Mixed Platforms = Release|Mixed Platforms
 		Release|Win32 = Release|Win32
 		Release|x64 = Release|x64
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|Win32.ActiveCfg = Debug|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|Win32.Build.0 = Debug|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|x64.ActiveCfg = Debug|x64
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Debug|x64.Build.0 = Debug|x64
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|Win32.ActiveCfg = Release|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|Win32.Build.0 = Release|Win32
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|x64.ActiveCfg = Release|x64
 		{9B21D41C-516B-43BF-9B10-E99B599C7589}.Release|x64.Build.0 = Release|x64
+		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Debug|Win32.ActiveCfg = Debug|Win32
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Debug|Win32.Build.0 = Debug|Win32
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Debug|x64.ActiveCfg = Debug|x64
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Debug|x64.Build.0 = Debug|x64
+		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Release|Win32.ActiveCfg = Release|Win32
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Release|Win32.Build.0 = Release|Win32
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Release|x64.ActiveCfg = Release|x64
 		{CC7F9445-71C9-4559-9976-FF0A64DCB582}.Release|x64.Build.0 = Release|x64
+		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Debug|Win32.ActiveCfg = Debug|Win32
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Debug|Win32.Build.0 = Debug|Win32
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Debug|x64.ActiveCfg = Debug|x64
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Debug|x64.Build.0 = Debug|x64
+		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Release|Win32.ActiveCfg = Release|Win32
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Release|Win32.Build.0 = Release|Win32
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Release|x64.ActiveCfg = Release|x64
 		{796B6DFF-BA04-42B7-A43A-2B14D707A33A}.Release|x64.Build.0 = Release|x64
+		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Debug|Win32.ActiveCfg = Debug|Win32
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Debug|Win32.Build.0 = Debug|Win32
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Debug|x64.ActiveCfg = Debug|x64
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Debug|x64.Build.0 = Debug|x64
+		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Release|Win32.ActiveCfg = Release|Win32
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Release|Win32.Build.0 = Release|Win32
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Release|x64.ActiveCfg = Release|x64
 		{67137A0D-7A67-4D0C-9FBF-AF904FABEF05}.Release|x64.Build.0 = Release|x64
+		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Debug|Win32.ActiveCfg = Debug|Win32
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Debug|Win32.Build.0 = Debug|Win32
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Debug|x64.ActiveCfg = Debug|x64
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Debug|x64.Build.0 = Debug|x64
+		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Release|Win32.ActiveCfg = Release|Win32
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Release|Win32.Build.0 = Release|Win32
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Release|x64.ActiveCfg = Release|x64
 		{F58FF869-2EA6-4FFF-AB84-328C531BA9D9}.Release|x64.Build.0 = Release|x64
+		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Debug|Win32.ActiveCfg = Debug|Win32
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Debug|Win32.Build.0 = Debug|Win32
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Debug|x64.ActiveCfg = Debug|x64
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Debug|x64.Build.0 = Debug|x64
+		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Release|Win32.ActiveCfg = Release|Win32
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Release|Win32.Build.0 = Release|Win32
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Release|x64.ActiveCfg = Release|x64
 		{122B7A22-0C62-4B35-B661-EBF3F394EA79}.Release|x64.Build.0 = Release|x64
+		{7F449698-73DF-4203-9F31-0877DBF01695}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{7F449698-73DF-4203-9F31-0877DBF01695}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{7F449698-73DF-4203-9F31-0877DBF01695}.Debug|Win32.ActiveCfg = Debug|Win32
 		{7F449698-73DF-4203-9F31-0877DBF01695}.Debug|Win32.Build.0 = Debug|Win32
 		{7F449698-73DF-4203-9F31-0877DBF01695}.Debug|x64.ActiveCfg = Debug|x64
 		{7F449698-73DF-4203-9F31-0877DBF01695}.Debug|x64.Build.0 = Debug|x64
+		{7F449698-73DF-4203-9F31-0877DBF01695}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{7F449698-73DF-4203-9F31-0877DBF01695}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{7F449698-73DF-4203-9F31-0877DBF01695}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{7F449698-73DF-4203-9F31-0877DBF01695}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{7F449698-73DF-4203-9F31-0877DBF01695}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{7F449698-73DF-4203-9F31-0877DBF01695}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{7F449698-73DF-4203-9F31-0877DBF01695}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{7F449698-73DF-4203-9F31-0877DBF01695}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{7F449698-73DF-4203-9F31-0877DBF01695}.Release|Win32.ActiveCfg = Release|Win32
 		{7F449698-73DF-4203-9F31-0877DBF01695}.Release|Win32.Build.0 = Release|Win32
 		{7F449698-73DF-4203-9F31-0877DBF01695}.Release|x64.ActiveCfg = Release|x64
 		{7F449698-73DF-4203-9F31-0877DBF01695}.Release|x64.Build.0 = Release|x64
+		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Debug|Win32.ActiveCfg = Debug|Win32
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Debug|Win32.Build.0 = Debug|Win32
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Debug|x64.ActiveCfg = Debug|x64
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Debug|x64.Build.0 = Debug|x64
+		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Release|Win32.ActiveCfg = Release|Win32
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Release|Win32.Build.0 = Release|Win32
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Release|x64.ActiveCfg = Release|x64
 		{BFEBBAF8-8A84-4899-8899-D0D7196AF9A1}.Release|x64.Build.0 = Release|x64
+		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Debug|Win32.ActiveCfg = Debug|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Debug|Win32.Build.0 = Debug|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Debug|x64.ActiveCfg = Debug|x64
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Debug|x64.Build.0 = Debug|x64
+		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|Win32.ActiveCfg = Release|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|Win32.Build.0 = Release|Win32
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|x64.ActiveCfg = Release|x64
 		{1437BB4E-DDB3-4307-AA41-8C035DA3014B}.Release|x64.Build.0 = Release|x64
+		{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.ActiveCfg = Debug|Win32
 		{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64
+		{B12702AD-ABFB-343A-A199-8E24837244A3}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{B12702AD-ABFB-343A-A199-8E24837244A3}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{B12702AD-ABFB-343A-A199-8E24837244A3}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{B12702AD-ABFB-343A-A199-8E24837244A3}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
+		{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.ActiveCfg = Release|Win32
 		{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64
+		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Debug|Win32.ActiveCfg = Debug|Win32
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Debug|Win32.Build.0 = Debug|Win32
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Debug|x64.ActiveCfg = Debug|x64
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Debug|x64.Build.0 = Debug|x64
+		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Release|Win32.ActiveCfg = Release|Win32
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Release|Win32.Build.0 = Release|Win32
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Release|x64.ActiveCfg = Release|x64
 		{AB6C9284-D1CB-4AAD-BA4B-8A9E81AD1A73}.Release|x64.Build.0 = Release|x64
+		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Debug|Win32.ActiveCfg = Debug|Win32
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Debug|Win32.Build.0 = Debug|Win32
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Debug|x64.ActiveCfg = Debug|x64
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Debug|x64.Build.0 = Debug|x64
+		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Release|Win32.ActiveCfg = Release|Win32
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Release|Win32.Build.0 = Release|Win32
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Release|x64.ActiveCfg = Release|x64
 		{07B0C186-5173-46F2-BE26-7E4148BD0CCA}.Release|x64.Build.0 = Release|x64
+		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Debug|Win32.ActiveCfg = Debug|Win32
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Debug|Win32.Build.0 = Debug|Win32
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Debug|x64.ActiveCfg = Debug|x64
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Debug|x64.Build.0 = Debug|x64
+		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Release|Win32.ActiveCfg = Release|Win32
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Release|Win32.Build.0 = Release|Win32
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Release|x64.ActiveCfg = Release|x64
 		{08975177-4A13-4EE7-BB21-3BB92FB3F3CC}.Release|x64.Build.0 = Release|x64
+		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Debug|Win32.ActiveCfg = Debug|Win32
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Debug|Win32.Build.0 = Debug|Win32
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Debug|x64.ActiveCfg = Debug|x64
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Debug|x64.Build.0 = Debug|x64
+		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Release|Win32.ActiveCfg = Release|Win32
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Release|Win32.Build.0 = Release|Win32
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Release|x64.ActiveCfg = Release|x64
 		{41CC18CE-139E-45A5-A9AA-336CBA2E1521}.Release|x64.Build.0 = Release|x64
+		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Debug|Win32.ActiveCfg = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Debug|Win32.Build.0 = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Debug|x64.ActiveCfg = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Debug|x64.Build.0 = Release|Any CPU
+		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.DebugRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.DebugRelease|Mixed Platforms.Build.0 = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.DebugRelease|Win32.ActiveCfg = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.DebugRelease|Win32.Build.0 = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.DebugRelease|x64.ActiveCfg = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.DebugRelease|x64.Build.0 = Release|Any CPU
+		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Release|Win32.ActiveCfg = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Release|Win32.Build.0 = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Release|x64.ActiveCfg = Release|Any CPU
 		{876EB338-489E-4727-84DA-8CBBF0DA5B5E}.Release|x64.Build.0 = Release|Any CPU
+		{ABC62E37-342E-4345-A374-E37CA06C036E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+		{ABC62E37-342E-4345-A374-E37CA06C036E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.Debug|Win32.ActiveCfg = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.Debug|Win32.Build.0 = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.Debug|x64.ActiveCfg = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.Debug|x64.Build.0 = Release|Any CPU
+		{ABC62E37-342E-4345-A374-E37CA06C036E}.DebugRelease|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{ABC62E37-342E-4345-A374-E37CA06C036E}.DebugRelease|Mixed Platforms.Build.0 = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.DebugRelease|Win32.ActiveCfg = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.DebugRelease|Win32.Build.0 = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.DebugRelease|x64.ActiveCfg = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.DebugRelease|x64.Build.0 = Release|Any CPU
+		{ABC62E37-342E-4345-A374-E37CA06C036E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+		{ABC62E37-342E-4345-A374-E37CA06C036E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.Release|Win32.ActiveCfg = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.Release|Win32.Build.0 = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.Release|x64.ActiveCfg = Release|Any CPU
 		{ABC62E37-342E-4345-A374-E37CA06C036E}.Release|x64.Build.0 = Release|Any CPU
+		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Debug|Win32.ActiveCfg = Debug|Win32
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Debug|Win32.Build.0 = Debug|Win32
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Debug|x64.ActiveCfg = Debug|x64
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Debug|x64.Build.0 = Debug|x64
+		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Release|Win32.ActiveCfg = Release|Win32
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Release|Win32.Build.0 = Release|Win32
 		{4F05EF0A-B8DE-424B-8848-6ECEE9D99912}.Release|x64.ActiveCfg = Release|x64
+		{A4865386-A95B-41BE-B016-4674F6B4272E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{A4865386-A95B-41BE-B016-4674F6B4272E}.Debug|Mixed Platforms.Build.0 = Debug|Win32
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.Debug|Win32.ActiveCfg = Debug|Win32
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.Debug|Win32.Build.0 = Debug|Win32
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.Debug|x64.ActiveCfg = Debug|x64
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.Debug|x64.Build.0 = Debug|x64
+		{A4865386-A95B-41BE-B016-4674F6B4272E}.DebugRelease|Mixed Platforms.ActiveCfg = DebugRelease|Win32
+		{A4865386-A95B-41BE-B016-4674F6B4272E}.DebugRelease|Mixed Platforms.Build.0 = DebugRelease|Win32
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{A4865386-A95B-41BE-B016-4674F6B4272E}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{A4865386-A95B-41BE-B016-4674F6B4272E}.Release|Mixed Platforms.Build.0 = Release|Win32
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.Release|Win32.ActiveCfg = Release|Win32
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.Release|Win32.Build.0 = Release|Win32
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.Release|x64.ActiveCfg = Release|x64
 		{A4865386-A95B-41BE-B016-4674F6B4272E}.Release|x64.Build.0 = Release|x64
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Debug|Win32.ActiveCfg = Debug|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Debug|Win32.Build.0 = Debug|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Debug|x64.ActiveCfg = Debug|x64
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Debug|x64.Build.0 = Debug|x64
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.DebugRelease|Mixed Platforms.ActiveCfg = Release|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.DebugRelease|Mixed Platforms.Build.0 = Release|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.DebugRelease|Win32.ActiveCfg = DebugRelease|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.DebugRelease|Win32.Build.0 = DebugRelease|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.DebugRelease|x64.ActiveCfg = DebugRelease|x64
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.DebugRelease|x64.Build.0 = DebugRelease|x64
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Release|Mixed Platforms.Build.0 = Release|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Release|Win32.ActiveCfg = Release|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Release|Win32.Build.0 = Release|Win32
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Release|x64.ActiveCfg = Release|x64
+		{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}.Release|x64.Build.0 = Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

+ 0 - 2
BansheeMono/Include/BsMonoAssembly.h

@@ -30,7 +30,6 @@ namespace BansheeEngine
 		~MonoAssembly();
 
 		MonoClass& getClass(const CM::String& namespaceName, const CM::String& name);
-		MonoDomain* getDomain() const { return mDomain; }
 
 	private:
 		friend class MonoManager;
@@ -43,7 +42,6 @@ namespace BansheeEngine
 		void initialize(const CM::String& entryPoint);
 
 		CM::String mName;
-		MonoDomain* mDomain;
 		MonoImage* mMonoImage;
 		::MonoAssembly* mMonoAssembly;
 		bool mIsLoaded;

+ 3 - 0
BansheeMono/Include/BsMonoManager.h

@@ -19,6 +19,8 @@ namespace BansheeEngine
 		MonoAssembly& loadAssembly(const CM::String& path, const CM::String& name, const CM::String& entryPoint = CM::StringUtil::BLANK);
 		void unloadAssembly(MonoAssembly& assembly);
 
+		MonoDomain* getDomain() const { return mDomain; }
+
 		static void registerScriptType(ScriptMeta* metaData);
 	private:
 		static const CM::String MONO_LIB_DIR;
@@ -31,5 +33,6 @@ namespace BansheeEngine
 		}
 
 		CM::UnorderedMap<CM::String, MonoAssembly*>::type mAssemblies;
+		MonoDomain* mDomain;
 	};
 }

+ 2 - 17
BansheeMono/Source/BsMonoAssembly.cpp

@@ -30,7 +30,7 @@ namespace BansheeEngine
 	}
 
 	MonoAssembly::MonoAssembly()
-		:mIsLoaded(false), mMonoImage(nullptr), mMonoAssembly(nullptr), mDomain(nullptr)
+		:mIsLoaded(false), mMonoImage(nullptr), mMonoAssembly(nullptr)
 	{
 
 	}
@@ -38,26 +38,11 @@ namespace BansheeEngine
 	MonoAssembly::~MonoAssembly()
 	{
 		unload();
-
-		if(mDomain != nullptr)
-		{
-			mono_jit_cleanup(mDomain);
-			mDomain = nullptr;
-		}
 	}
 
 	void MonoAssembly::load(const CM::String& path, const CM::String& name)
 	{
-		if(mDomain == nullptr)
-		{
-			mDomain = mono_jit_init (path.c_str());
-			if(mDomain == nullptr)
-			{
-				CM_EXCEPT(InternalErrorException, "Cannot initialize Mono runtime.");
-			}
-		}
-
-		::MonoAssembly* monoAssembly = mono_domain_assembly_open (mDomain, path.c_str());
+		::MonoAssembly* monoAssembly = mono_domain_assembly_open (MonoManager::instance().getDomain(), path.c_str());
 		if(monoAssembly == nullptr)
 		{
 			CM_EXCEPT(InvalidParametersException, "Cannot load Mono assembly: " + path);

+ 1 - 1
BansheeMono/Source/BsMonoClass.cpp

@@ -131,7 +131,7 @@ namespace BansheeEngine
 
 	MonoObject* MonoClass::createInstance() const
 	{
-		MonoObject* obj = mono_object_new(mParentAssembly->getDomain(), mClass);
+		MonoObject* obj = mono_object_new(MonoManager::instance().getDomain(), mClass);
 
 		return obj;
 	}

+ 16 - 0
BansheeMono/Source/BsMonoManager.cpp

@@ -15,6 +15,7 @@ namespace BansheeEngine
 	const String MonoManager::MONO_ETC_DIR = "..\\..\\Mono\\etc";
 
 	MonoManager::MonoManager()
+		:mDomain(nullptr)
 	{
 		mono_set_dirs(MONO_LIB_DIR.c_str(), MONO_ETC_DIR.c_str()); 
 		mono_config_parse(nullptr);
@@ -29,12 +30,27 @@ namespace BansheeEngine
 		}
 
 		mAssemblies.clear();
+
+		if(mDomain != nullptr)
+		{
+			mono_jit_cleanup(mDomain);
+			mDomain = nullptr;
+		}
 	}
 
 	MonoAssembly& MonoManager::loadAssembly(const String& path, const String& name, const String& entryPoint)
 	{
 		MonoAssembly* assembly = nullptr;
 
+		if(mDomain == nullptr)
+		{
+			mDomain = mono_jit_init (path.c_str());
+			if(mDomain == nullptr)
+			{
+				CM_EXCEPT(InternalErrorException, "Cannot initialize Mono runtime.");
+			}
+		}
+
 		auto iterFind = mAssemblies.find(name);
 		if(iterFind != mAssemblies.end())
 		{

+ 0 - 2
CamelotClient/CamelotClient.vcxproj

@@ -270,7 +270,6 @@
     <ClInclude Include="Include\BsGUIWindowFrameWidget.h" />
     <ClInclude Include="Include\BsGUIWindowDropArea.h" />
     <ClInclude Include="Include\BsMainEditorWindow.h" />
-    <ClInclude Include="Include\BsScriptModalWindow.h" />
     <ClInclude Include="Include\CmDebugCamera.h" />
     <ClInclude Include="Include\CmTestTextSprite.h" />
     <ClInclude Include="Include\DbgEditorWidget1.h" />
@@ -293,7 +292,6 @@
     <ClCompile Include="Source\BsGUIWindowFrameWidget.cpp" />
     <ClCompile Include="Source\BsGUIWindowDropArea.cpp" />
     <ClCompile Include="Source\BsMainEditorWindow.cpp" />
-    <ClCompile Include="Source\BsScriptModalWindow.cpp" />
     <ClCompile Include="Source\CmDebugCamera.cpp" />
     <ClCompile Include="Source\BsEditorApplication.cpp" />
     <ClCompile Include="Source\CmTestTextSprite.cpp" />

+ 0 - 12
CamelotClient/CamelotClient.vcxproj.filters

@@ -19,12 +19,6 @@
     <Filter Include="Source Files\Editor">
       <UniqueIdentifier>{ccd6be96-5773-46cc-a751-18a7007716c3}</UniqueIdentifier>
     </Filter>
-    <Filter Include="Header Files\Editor\Script">
-      <UniqueIdentifier>{ed35c594-9f99-46b1-aef3-a14f123a21e3}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Source Files\Editor\Script">
-      <UniqueIdentifier>{6bda4443-8e9f-44f1-8173-d12d0d6311ee}</UniqueIdentifier>
-    </Filter>
   </ItemGroup>
   <ItemGroup>
     <Text Include="ReadMe.txt" />
@@ -93,9 +87,6 @@
     <ClInclude Include="Include\BsEditorApplication.h">
       <Filter>Header Files\Editor</Filter>
     </ClInclude>
-    <ClInclude Include="Include\BsScriptModalWindow.h">
-      <Filter>Header Files\Editor\Script</Filter>
-    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="stdafx.cpp">
@@ -158,8 +149,5 @@
     <ClCompile Include="Source\BsEditorApplication.cpp">
       <Filter>Source Files\Editor</Filter>
     </ClCompile>
-    <ClCompile Include="Source\BsScriptModalWindow.cpp">
-      <Filter>Source Files\Editor\Script</Filter>
-    </ClCompile>
   </ItemGroup>
 </Project>

+ 0 - 26
CamelotClient/Include/BsScriptModalWindow.h

@@ -1,26 +0,0 @@
-#pragma once
-
-//#include "BsPrerequisites.h"
-//#include "BsScriptObject.h"
-//
-//namespace BansheeEditor
-//{
-//	class ScriptModalWindow : public BansheeEngine::ScriptObject<ScriptModalWindow>
-//	{
-//	public:
-//		static void initMetaData();
-//
-//	private:
-//		ScriptModalWindow(CM::INT32 left, CM::INT32 top, CM::UINT32 width, CM::UINT32 height);
-//
-//		static void internal_createInstance(MonoObject* instance, CM::INT32 left, CM::INT32 top, CM::UINT32 width, CM::UINT32 height);
-//		static void internal_destroyInstance(ScriptModalWindow* nativeInstance);
-//
-//		static void initRuntimeData();
-//
-//		CM::RenderWindowPtr mRenderWindow;
-//		CM::HSceneObject mSceneObject;
-//		BS::HGUIWidget mGUI;
-//		BS::HCamera mCamera;
-//	};
-//}

+ 1 - 0
CamelotClient/Source/BsEditorApplication.cpp

@@ -37,6 +37,7 @@ namespace BansheeEditor
 
 		const String& renderSystemLibraryName = getLibraryNameForRenderSystem(renderSystemPlugin);
 		gBansheeApp().startUp(renderWindowDesc, renderSystemLibraryName, "BansheeForwardRenderer", "D:\\CamelotResourceMetas"); // TODO - Make renderer and resource cache dir customizable
+		gApplication().loadPlugin("SBansheeEditor"); // Managed part of the editor
 
 		/************************************************************************/
 		/* 								DEBUG CODE                      		*/

+ 0 - 69
CamelotClient/Source/BsScriptModalWindow.cpp

@@ -1,69 +0,0 @@
-#include "BsScriptModalWindow.h"
-//#include "BsScriptMeta.h"
-//#include "BsMonoField.h"
-//#include "BsMonoClass.h"
-//#include "BsMonoManager.h"
-//#include "CmSceneObject.h"
-//#include "CmRenderWindow.h"
-//#include "CmApplication.h"
-//#include "BsCamera.h"
-//#include "BsGUIWidget.h"
-//
-//using namespace CamelotFramework;
-//using namespace BansheeEngine;
-//
-//namespace BansheeEditor
-//{
-//	ScriptModalWindow::ScriptModalWindow(INT32 left, INT32 top, UINT32 width, UINT32 height)
-//	{
-//		RENDER_WINDOW_DESC renderWindowDesc;
-//		renderWindowDesc.width = width;
-//		renderWindowDesc.height = height;
-//		renderWindowDesc.left = left;
-//		renderWindowDesc.top = top;
-//		renderWindowDesc.title = "ModalWindow";
-//		renderWindowDesc.fullscreen = false;
-//		renderWindowDesc.border = WindowBorder::None;
-//		renderWindowDesc.toolWindow = true;
-//
-//		mRenderWindow = RenderWindow::create(renderWindowDesc, gApplication().getPrimaryWindow());
-//
-//		mSceneObject = SceneObject::create("ModalWindow");
-//
-//		mCamera = mSceneObject->addComponent<Camera>();
-//		mCamera->initialize(mRenderWindow, 0.0f, 0.0f, 1.0f, 1.0f);
-//		mCamera->setNearClipDistance(5);
-//		mCamera->setAspectRatio(1.0f);
-//		mCamera->setIgnoreSceneRenderables(true);
-//
-//		mGUI = mSceneObject->addComponent<GUIWidget>(mCamera->getViewport().get());
-//		mGUI->setDepth(128);
-//	}
-//
-//	void ScriptModalWindow::initMetaData()
-//	{
-//		metaData = ScriptMeta("MBansheeEditor", "BansheeEditor", "ModalWindow", &ScriptModalWindow::initRuntimeData);
-//
-//		MonoManager::registerScriptType(&metaData);
-//	}
-//
-//	void ScriptModalWindow::initRuntimeData()
-//	{
-//		metaData.scriptClass->addInternalCall("Internal_CreateInstance", &ScriptModalWindow::internal_createInstance);
-//		metaData.scriptClass->addInternalCall("Internal_DestroyInstance", &ScriptModalWindow::internal_destroyInstance);
-//	}
-//
-//	void ScriptModalWindow::internal_createInstance(MonoObject* instance, INT32 left, INT32 top, UINT32 width, UINT32 height)
-//	{
-//		ScriptModalWindow* nativeInstance = new (cm_alloc<ScriptModalWindow>()) ScriptModalWindow(left, top, width, height);
-//		nativeInstance->createInstance(instance);
-//
-//		metaData.thisPtrField->setValue(instance, nativeInstance);
-//	}
-//
-//	void ScriptModalWindow::internal_destroyInstance(ScriptModalWindow* nativeInstance)
-//	{
-//		nativeInstance->destroyInstance();
-//		cm_delete(nativeInstance);
-//	}
-//}

+ 2 - 2
MBansheeEditor/Program.cs

@@ -5,7 +5,7 @@ namespace BansheeEditor
 {
     class Program
     {
-        static void Main(string[] args)
+        static void Main()
         {
             // Starts main editor window with the specified width/height and render system
             // (Window position and sizes are stored internally. Restored upon StartUp and saved upon ShutDown)
@@ -13,7 +13,7 @@ namespace BansheeEditor
 
             // TODO - A class to manipulate menu items
 
-            ModalWindow mw = new ModalWindow(0, 0, 0, 0);
+           // ModalWindow mw = new ModalWindow(0, 0, 0, 0);
         }
     }
 

+ 12 - 2
MBansheeEngine/GUI.cs

@@ -17,9 +17,19 @@ namespace BansheeEngine
             return ((GUIBase)instance).AddArea(x, y, width, height, depth);
         }
 
-        public new static GUIArea AddResizableArea(int offsetLeft, int offsetRight, int offsetTop, int offsetBottom, GUIArea.ResizeAxis resizeAxis, short depth = 0)
+        public GUIArea AddResizableAreaX(int offsetLeft, int offsetRight, int offsetTop, int height, short depth = 0)
         {
-            return ((GUIBase)instance).AddResizableArea(offsetLeft, offsetRight, offsetTop, offsetBottom, resizeAxis, depth);
+            return ((GUIBase)instance).AddResizableAreaX(offsetLeft, offsetRight, offsetTop, height, depth);
+        }
+
+        public GUIArea AddResizableAreaY(int offsetTop, int offsetBottom, int offsetLeft, int width, short depth = 0)
+        {
+            return ((GUIBase)instance).AddResizableAreaY(offsetTop, offsetBottom, offsetLeft, width, depth);
+        }
+
+        public GUIArea AddResizableAreaXY(int offsetLeft, int offsetRight, int offsetTop, int offsetBottom, short depth = 0)
+        {
+            return ((GUIBase)instance).AddResizableAreaXY(offsetLeft, offsetRight, offsetTop, offsetBottom, depth);
         }
 
         [MethodImpl(MethodImplOptions.InternalCall)]

+ 24 - 0
SBansheeEditor/Include/BsScriptEditorPrerequisites.h

@@ -0,0 +1,24 @@
+#pragma once
+
+#include "BsScriptEnginePrerequisites.h"
+
+#if (CM_PLATFORM == CM_PLATFORM_WIN32) && !defined(__MINGW32__)
+#	ifdef BS_SCR_BED_EXPORTS
+#		define BS_SCR_BED_EXPORT __declspec(dllexport)
+#	else
+#       if defined( __MINGW32__ )
+#           define BS_SCR_BED_EXPORT
+#       else
+#    		define BS_SCR_BED_EXPORT __declspec(dllimport)
+#       endif
+#	endif
+#elif defined ( CM_GCC_VISIBILITY )
+#    define BS_SCR_BED_EXPORT  __attribute__ ((visibility("default")))
+#else
+#    define BS_SCR_BED_EXPORT
+#endif
+
+namespace BansheeEditor
+{
+
+}

+ 26 - 0
SBansheeEditor/Include/BsScriptModalWindow.h

@@ -0,0 +1,26 @@
+#pragma once
+
+#include "BsScriptEditorPrerequisites.h"
+#include "BsScriptObject.h"
+
+namespace BansheeEditor
+{
+	class BS_SCR_BED_EXPORT ScriptModalWindow : public BansheeEngine::ScriptObject<ScriptModalWindow>
+	{
+	public:
+		static void initMetaData();
+
+	private:
+		ScriptModalWindow(CM::INT32 left, CM::INT32 top, CM::UINT32 width, CM::UINT32 height);
+
+		static void internal_createInstance(MonoObject* instance, CM::INT32 left, CM::INT32 top, CM::UINT32 width, CM::UINT32 height);
+		static void internal_destroyInstance(ScriptModalWindow* nativeInstance);
+
+		static void initRuntimeData();
+
+		CM::RenderWindowPtr mRenderWindow;
+		CM::HSceneObject mSceneObject;
+		BS::HGUIWidget mGUI;
+		BS::HCamera mCamera;
+	};
+}

+ 239 - 0
SBansheeEditor/SBansheeEditor.vcxproj

@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="DebugRelease|Win32">
+      <Configuration>DebugRelease</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="DebugRelease|x64">
+      <Configuration>DebugRelease</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2DA6824A-4D3A-4B59-8AE9-85D3C14074A3}</ProjectGuid>
+    <RootNamespace>SBansheeEditor</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'" Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>..\bin\x86\$(Configuration)\</OutDir>
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir>..\bin\$(Platform)\$(Configuration)\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>..\bin\x86\$(Configuration)\</OutDir>
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'">
+    <OutDir>..\bin\x86\$(Configuration)\</OutDir>
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir>..\bin\$(Platform)\$(Configuration)\</OutDir>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">
+    <IntDir>.\Intermediate\$(Platform)\$(Configuration)\</IntDir>
+    <OutDir>..\bin\$(Platform)\$(Configuration)\</OutDir>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>.\Include;..\CamelotCore\Include;..\CamelotUtility\Include;..\Dependencies\Include;..\BansheeEngine\Include;..\BansheeMono\Include;..\SBansheeEngine\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BS_SCR_BED_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>CamelotCore.lib;CamelotUtility.lib;BansheeEngine.lib;BansheeMono.lib;SBansheeEngine.lib;mono-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>../lib/x86/$(Configuration);../Dependencies/lib/x86/Debug</AdditionalLibraryDirectories>
+      <ImportLibrary>..\lib\x86\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>.\Include;..\CamelotCore\Include;..\CamelotUtility\Include;..\Dependencies\Include;..\BansheeEngine\Include;..\BansheeMono\Include;..\SBansheeEngine\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BS_SCR_BED_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>CamelotCore.lib;CamelotUtility.lib;BansheeEngine.lib;BansheeMono.lib;SBansheeEngine.lib;mono-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>../lib/x64/$(Configuration);../Dependencies/lib/x64/Debug</AdditionalLibraryDirectories>
+      <ImportLibrary>..\lib\x64\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>.\Include;..\CamelotCore\Include;..\CamelotUtility\Include;..\Dependencies\Include;..\BansheeEngine\Include;..\BansheeMono\Include;..\SBansheeEngine\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DebugInformationFormat>None</DebugInformationFormat>
+      <PreprocessorDefinitions>BS_SCR_BED_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>CamelotCore.lib;CamelotUtility.lib;BansheeEngine.lib;BansheeMono.lib;SBansheeEngine.lib;mono-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>../lib/x86/$(Configuration);../Dependencies/lib/x86/Release</AdditionalLibraryDirectories>
+      <ImportLibrary>..\lib\x86\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>.\Include;..\CamelotCore\Include;..\CamelotUtility\Include;..\Dependencies\Include;..\BansheeEngine\Include;..\BansheeMono\Include;..\SBansheeEngine\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BS_SCR_BED_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>CamelotCore.lib;CamelotUtility.lib;BansheeEngine.lib;BansheeMono.lib;SBansheeEngine.lib;mono-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>../lib/x86/$(Configuration);../Dependencies/lib/x86/DebugRelease</AdditionalLibraryDirectories>
+      <ImportLibrary>..\lib\x86\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>.\Include;..\CamelotCore\Include;..\CamelotUtility\Include;..\Dependencies\Include;..\BansheeEngine\Include;..\BansheeMono\Include;..\SBansheeEngine\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <DebugInformationFormat>None</DebugInformationFormat>
+      <PreprocessorDefinitions>BS_SCR_BED_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>false</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>CamelotCore.lib;CamelotUtility.lib;BansheeEngine.lib;BansheeMono.lib;SBansheeEngine.lib;mono-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>../lib/x64/$(Configuration);../Dependencies/lib/x64/Release</AdditionalLibraryDirectories>
+      <ImportLibrary>..\lib\x64\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugRelease|x64'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>.\Include;..\CamelotCore\Include;..\CamelotUtility\Include;..\Dependencies\Include;..\BansheeEngine\Include;..\BansheeMono\Include;..\SBansheeEngine\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>BS_SCR_BED_EXPORTS;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+      <AdditionalDependencies>CamelotCore.lib;CamelotUtility.lib;BansheeEngine.lib;BansheeMono.lib;SBansheeEngine.lib;mono-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>../lib/x64/$(Configuration);../Dependencies/lib/x64/DebugRelease</AdditionalLibraryDirectories>
+      <ImportLibrary>..\lib\x64\$(Configuration)\$(TargetName).lib</ImportLibrary>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="Include\BsScriptEditorPrerequisites.h" />
+    <ClInclude Include="Include\BsScriptModalWindow.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="Source\BsScriptEditorPlugin.cpp" />
+    <ClCompile Include="Source\BsScriptModalWindow.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 33 - 0
SBansheeEditor/SBansheeEditor.vcxproj.filters

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="Include\BsScriptEditorPrerequisites.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="Include\BsScriptModalWindow.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="Source\BsScriptModalWindow.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="Source\BsScriptEditorPlugin.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>

+ 4 - 0
SBansheeEditor/SBansheeEditor.vcxproj.user

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup />
+</Project>

+ 26 - 0
SBansheeEditor/Source/BsScriptEditorPlugin.cpp

@@ -0,0 +1,26 @@
+#include "BsScriptEditorPrerequisites.h"
+#include "BsMonoManager.h"
+#include "BsMonoAssembly.h"
+
+using namespace CamelotFramework;
+using namespace BansheeEngine;
+
+namespace BansheeEditor
+{
+	extern "C" BS_SCR_BED_EXPORT const String& getPluginName()
+	{
+		static String pluginName = "SBansheeEditor";
+		return pluginName;
+	}
+
+	extern "C" BS_SCR_BED_EXPORT void* loadPlugin()
+	{
+		const CM::String ENGINE_ASSEMBLY_PATH = "..\\..\\Assemblies\\MBansheeEditor.dll";
+		const CM::String ENGINE_ASSEMBLY_NAME = "MBansheeEditor";
+		const CM::String ASSEMBLY_ENTRY_POINT = "Program::Main";
+
+		MonoManager::instance().loadAssembly(ENGINE_ASSEMBLY_PATH, ENGINE_ASSEMBLY_NAME, ASSEMBLY_ENTRY_POINT);
+
+		return nullptr;
+	}
+}

+ 69 - 0
SBansheeEditor/Source/BsScriptModalWindow.cpp

@@ -0,0 +1,69 @@
+#include "BsScriptModalWindow.h"
+#include "BsScriptMeta.h"
+#include "BsMonoField.h"
+#include "BsMonoClass.h"
+#include "BsMonoManager.h"
+#include "CmSceneObject.h"
+#include "CmRenderWindow.h"
+#include "CmApplication.h"
+#include "BsCamera.h"
+#include "BsGUIWidget.h"
+
+using namespace CamelotFramework;
+using namespace BansheeEngine;
+
+namespace BansheeEditor
+{
+	ScriptModalWindow::ScriptModalWindow(INT32 left, INT32 top, UINT32 width, UINT32 height)
+	{
+		RENDER_WINDOW_DESC renderWindowDesc;
+		renderWindowDesc.width = width;
+		renderWindowDesc.height = height;
+		renderWindowDesc.left = left;
+		renderWindowDesc.top = top;
+		renderWindowDesc.title = "ModalWindow";
+		renderWindowDesc.fullscreen = false;
+		renderWindowDesc.border = WindowBorder::None;
+		renderWindowDesc.toolWindow = true;
+
+		mRenderWindow = RenderWindow::create(renderWindowDesc, gApplication().getPrimaryWindow());
+
+		mSceneObject = SceneObject::create("ModalWindow");
+
+		mCamera = mSceneObject->addComponent<Camera>();
+		mCamera->initialize(mRenderWindow, 0.0f, 0.0f, 1.0f, 1.0f);
+		mCamera->setNearClipDistance(5);
+		mCamera->setAspectRatio(1.0f);
+		mCamera->setIgnoreSceneRenderables(true);
+
+		mGUI = mSceneObject->addComponent<GUIWidget>(mCamera->getViewport().get());
+		mGUI->setDepth(128);
+	}
+
+	void ScriptModalWindow::initMetaData()
+	{
+		metaData = ScriptMeta("MBansheeEditor", "BansheeEditor", "ModalWindow", &ScriptModalWindow::initRuntimeData);
+
+		MonoManager::registerScriptType(&metaData);
+	}
+
+	void ScriptModalWindow::initRuntimeData()
+	{
+		metaData.scriptClass->addInternalCall("Internal_CreateInstance", &ScriptModalWindow::internal_createInstance);
+		metaData.scriptClass->addInternalCall("Internal_DestroyInstance", &ScriptModalWindow::internal_destroyInstance);
+	}
+
+	void ScriptModalWindow::internal_createInstance(MonoObject* instance, INT32 left, INT32 top, UINT32 width, UINT32 height)
+	{
+		ScriptModalWindow* nativeInstance = new (cm_alloc<ScriptModalWindow>()) ScriptModalWindow(left, top, width, height);
+		nativeInstance->createInstance(instance);
+
+		metaData.thisPtrField->setValue(instance, nativeInstance);
+	}
+
+	void ScriptModalWindow::internal_destroyInstance(ScriptModalWindow* nativeInstance)
+	{
+		nativeInstance->destroyInstance();
+		cm_delete(nativeInstance);
+	}
+}