Browse Source

Added ability to set up custom meta-data per resource

Marko Pintera 11 years ago
parent
commit
c449f37a13

+ 3 - 0
BansheeCore/BansheeCore.vcxproj

@@ -309,6 +309,8 @@
     <ClInclude Include="Include\BsQueryManager.h" />
     <ClInclude Include="Include\BsResourceManifest.h" />
     <ClInclude Include="Include\BsResourceManifestRTTI.h" />
+    <ClInclude Include="Include\BsResourceMetaData.h" />
+    <ClInclude Include="Include\BsResourceMetaDataRTTI.h" />
     <ClInclude Include="Include\BsSceneObjectRTTI.h" />
     <ClInclude Include="Include\BsCoreApplication.h" />
     <ClInclude Include="Include\BsBlendStateRTTI.h" />
@@ -470,6 +472,7 @@
     <ClCompile Include="Source\BsQueryManager.cpp" />
     <ClCompile Include="Source\BsRenderer.cpp" />
     <ClCompile Include="Source\BsResourceManifest.cpp" />
+    <ClCompile Include="Source\BsResourceMetaData.cpp" />
     <ClCompile Include="Source\BsTextureImportOptions.cpp" />
     <ClCompile Include="Source\BsTextureView.cpp" />
     <ClCompile Include="Source\BsTextData.cpp" />

+ 9 - 0
BansheeCore/BansheeCore.vcxproj.filters

@@ -522,6 +522,12 @@
     <ClInclude Include="Include\BsTextureImportOptionsRTTI.h">
       <Filter>Header Files\RTTI</Filter>
     </ClInclude>
+    <ClInclude Include="Include\BsResourceMetaData.h">
+      <Filter>Header Files\Resources</Filter>
+    </ClInclude>
+    <ClInclude Include="Include\BsResourceMetaDataRTTI.h">
+      <Filter>Header Files\RTTI</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="Source\BsCoreApplication.cpp">
@@ -818,5 +824,8 @@
     <ClCompile Include="Source\BsTextureImportOptions.cpp">
       <Filter>Source Files\Importer</Filter>
     </ClCompile>
+    <ClCompile Include="Source\BsResourceMetaData.cpp">
+      <Filter>Source Files\Resources</Filter>
+    </ClCompile>
   </ItemGroup>
 </Project>

+ 4 - 1
BansheeCore/Include/BsCorePrerequisites.h

@@ -148,6 +148,7 @@ namespace BansheeEngine
 	class TransientMesh;
 	class MeshHeap;
 	class Font;
+	class ResourceMetaData;
 	class OSDropTarget;
 	// Scene
 	class SceneObject;
@@ -234,6 +235,7 @@ namespace BansheeEngine
 	typedef std::shared_ptr<MeshProxy> MeshProxyPtr;
 	typedef std::shared_ptr<ShaderProxy> ShaderProxyPtr;
 	typedef std::shared_ptr<GpuParamDesc> GpuParamDescPtr;
+	typedef std::shared_ptr<ResourceMetaData> ResourceMetaDataPtr;
 }
 
 /************************************************************************/
@@ -296,7 +298,8 @@ namespace BansheeEngine
 		TID_ResourceManifest = 1067,
 		TID_ResourceManifestEntry = 1068,
 		TID_EmulatedParamBlock = 1069,
-		TID_TextureImportOptions = 1070
+		TID_TextureImportOptions = 1070,
+		TID_ResourceMetaData = 1071
 	};
 }
 

+ 8 - 3
BansheeCore/Include/BsResource.h

@@ -18,18 +18,23 @@ namespace BansheeEngine
 		/**
 		 * @brief	Returns the name of the resource.
 		 */
-		const String& getName() const { return mName; }
+		const WString& getName() const;
 
 		/**
 		 * @brief	Sets the name of the resource. 
 		 */
-		void setName(const String& name) { mName = name; }
+		void setName(const WString& name);
+
+		/**
+		 * @brief	Retrieves meta-data containing various information describing a resource.
+		 */
+		ResourceMetaDataPtr getMetaData() const { return mMetaData; }
 
 	protected:
 		friend class Resources;
 
 		UINT32 mSize;
-		String mName;
+		ResourceMetaDataPtr mMetaData;
 
 	/************************************************************************/
 	/* 								SERIALIZATION                      		*/

+ 25 - 0
BansheeCore/Include/BsResourceMetaData.h

@@ -0,0 +1,25 @@
+#pragma once
+
+#include "BsCorePrerequisites.h"
+#include "BsIReflectable.h"
+#include "BsCoreObject.h"
+
+namespace BansheeEngine
+{
+	/**
+	 * @brief	Class containing meta-information describing a resource.
+	 */
+	class BS_CORE_EXPORT ResourceMetaData : public IReflectable
+	{
+	public:
+		WString displayName;
+
+		/************************************************************************/
+		/* 								SERIALIZATION                      		*/
+		/************************************************************************/
+	public:
+		friend class ResourceMetaDataRTTI;
+		static RTTITypeBase* getRTTIStatic();
+		virtual RTTITypeBase* getRTTI() const;
+	};
+}

+ 37 - 0
BansheeCore/Include/BsResourceMetaDataRTTI.h

@@ -0,0 +1,37 @@
+#pragma once
+
+#include "BsCorePrerequisites.h"
+#include "BsRTTIType.h"
+#include "BsResourceMetaData.h"
+
+namespace BansheeEngine
+{
+	class BS_CORE_EXPORT ResourceMetaDataRTTI : public RTTIType<ResourceMetaData, IReflectable, ResourceMetaDataRTTI>
+	{
+	private:
+		WString& getDisplayName(ResourceMetaData* obj) { return obj->displayName; }
+		void setDisplayName(ResourceMetaData* obj, WString& name) { obj->displayName = name; }
+
+	public:
+		ResourceMetaDataRTTI()
+		{
+			addPlainField("displayName", 0, &ResourceMetaDataRTTI::getDisplayName, &ResourceMetaDataRTTI::setDisplayName);
+		}
+
+		virtual const String& getRTTIName()
+		{
+			static String name = "ResourceMetaData";
+			return name;
+		}
+
+		virtual UINT32 getRTTIId()
+		{
+			return TID_ResourceMetaData;
+		}
+
+		virtual std::shared_ptr<IReflectable> newRTTIObject()
+		{
+			return bs_shared_ptr<ResourceMetaData>();
+		}
+	};
+}

+ 3 - 3
BansheeCore/Include/BsResourceRTTI.h

@@ -12,14 +12,14 @@ namespace BansheeEngine
 		UINT32& getSize(Resource* obj) { return obj->mSize; }
 		void setSize(Resource* obj, UINT32& size) { obj->mSize = size; } 
 
-		String& getName(Resource* obj) { return obj->mName; }
-		void setName(Resource* obj, String& name) { obj->mName = name; }
+		ResourceMetaDataPtr getMetaData(Resource* obj) { return obj->mMetaData; }
+		void setMetaData(Resource* obj, ResourceMetaDataPtr value) { obj->mMetaData = value; }
 
 	public:
 		ResourceRTTI()
 		{
 			addPlainField("mSize", 0, &ResourceRTTI::getSize, &ResourceRTTI::setSize);
-			addPlainField("mName", 1, &ResourceRTTI::getName, &ResourceRTTI::setName);
+			addReflectablePtrField("mMetaData", 1, &ResourceRTTI::getMetaData, &ResourceRTTI::setMetaData);
 		}
 
 		virtual const String& getRTTIName()

+ 1 - 1
BansheeCore/Source/BsGpuProgIncludeImporter.cpp

@@ -38,7 +38,7 @@ namespace BansheeEngine
 		GpuProgIncludePtr gpuInclude = GpuProgInclude::_createPtr(includeString);
 
 		WString fileName = filePath.getWFilename(false);
-		gpuInclude->setName(toString(fileName));
+		gpuInclude->setName(fileName);
 
 		return gpuInclude;
 	}

+ 1 - 1
BansheeCore/Source/BsGpuProgramImporter.cpp

@@ -48,7 +48,7 @@ namespace BansheeEngine
 		}
 
 		WString fileName = filePath.getWFilename(false);
-		gpuProgram->setName(toString(fileName));
+		gpuProgram->setName(fileName);
 
 		return gpuProgram;
 	}

+ 14 - 1
BansheeCore/Source/BsResource.cpp

@@ -2,13 +2,26 @@
 #include "BsResourceRTTI.h"
 #include "BsResources.h"
 #include "BsUUID.h"
+#include "BsResourceMetaData.h"
 #include "BsRenderSystem.h"
 
 namespace BansheeEngine
 {
 	Resource::Resource(bool initializeOnRenderThread)
 		:CoreObject(initializeOnRenderThread), mSize(0)
-	{ }
+	{ 
+		mMetaData = bs_shared_ptr<ResourceMetaData>();
+	}
+
+	const WString& Resource::getName() const 
+	{ 
+		return mMetaData->displayName; 
+	}
+
+	void Resource::setName(const WString& name) 
+	{ 
+		mMetaData->displayName = name; 
+	}
 
 	RTTITypeBase* Resource::getRTTIStatic()
 	{

+ 15 - 0
BansheeCore/Source/BsResourceMetaData.cpp

@@ -0,0 +1,15 @@
+#include "BsResourceMetaData.h"
+#include "BsResourceMetaDataRTTI.h"
+
+namespace BansheeEngine
+{
+	RTTITypeBase* ResourceMetaData::getRTTIStatic()
+	{
+		return ResourceMetaDataRTTI::instance();
+	}
+
+	RTTITypeBase* ResourceMetaData::getRTTI() const
+	{
+		return ResourceMetaData::getRTTIStatic();
+	}
+}

+ 3 - 3
BansheeEditor/BansheeEditor.vcxproj

@@ -308,8 +308,8 @@
     <ClInclude Include="Include\BsMainEditorWindow.h" />
     <ClInclude Include="Include\BsProjectLibrary.h" />
     <ClInclude Include="Include\BsProjectLibraryEntries.h" />
-    <ClInclude Include="Include\BsResourceMeta.h" />
-    <ClInclude Include="Include\BsResourceMetaRTTI.h" />
+    <ClInclude Include="Include\BsProjectResourceMeta.h" />
+    <ClInclude Include="Include\BsProjectResourceMetaRTTI.h" />
     <ClInclude Include="Include\BsGUIVector2Field.h" />
     <ClInclude Include="Include\BsDebugCamera.h" />
     <ClInclude Include="Include\BsTestTextSprite.h" />
@@ -357,7 +357,7 @@
     <ClCompile Include="Source\BsMainEditorWindow.cpp" />
     <ClCompile Include="Source\BsProjectLibrary.cpp" />
     <ClCompile Include="Source\BsProjectLibraryEntries.cpp" />
-    <ClCompile Include="Source\BsResourceMeta.cpp" />
+    <ClCompile Include="Source\BsProjectResourceMeta.cpp" />
     <ClCompile Include="Source\BsUndoRedo.cpp" />
     <ClCompile Include="Source\BsDebugCamera.cpp" />
     <ClCompile Include="Source\BsEditorApplication.cpp" />

+ 9 - 9
BansheeEditor/BansheeEditor.vcxproj.filters

@@ -117,12 +117,6 @@
     <ClInclude Include="Include\BsProjectLibrary.h">
       <Filter>Header Files\Editor</Filter>
     </ClInclude>
-    <ClInclude Include="Include\BsResourceMeta.h">
-      <Filter>Header Files\Editor</Filter>
-    </ClInclude>
-    <ClInclude Include="Include\BsResourceMetaRTTI.h">
-      <Filter>Header Files\Editor</Filter>
-    </ClInclude>
     <ClInclude Include="Include\BsGUIResourceTreeView.h">
       <Filter>Header Files\Editor</Filter>
     </ClInclude>
@@ -192,6 +186,12 @@
     <ClInclude Include="Include\BsDebugCamera.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="Include\BsProjectResourceMeta.h">
+      <Filter>Header Files\Editor</Filter>
+    </ClInclude>
+    <ClInclude Include="Include\BsProjectResourceMetaRTTI.h">
+      <Filter>Header Files\Editor</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="Source\BsEditorWidgetContainer.cpp">
@@ -272,9 +272,6 @@
     <ClCompile Include="Source\BsProjectLibrary.cpp">
       <Filter>Source Files\Editor</Filter>
     </ClCompile>
-    <ClCompile Include="Source\BsResourceMeta.cpp">
-      <Filter>Source Files\Editor</Filter>
-    </ClCompile>
     <ClCompile Include="Source\BsGUIResourceTreeView.cpp">
       <Filter>Source Files\Editor</Filter>
     </ClCompile>
@@ -332,5 +329,8 @@
     <ClCompile Include="Source\BsTestTextSprite.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="Source\BsProjectResourceMeta.cpp">
+      <Filter>Source Files\Editor</Filter>
+    </ClCompile>
   </ItemGroup>
 </Project>

+ 2 - 2
BansheeEditor/Include/BsEditorPrerequisites.h

@@ -53,9 +53,9 @@ namespace BansheeEngine
 	class GUIResourceTreeView;
 	class GUITreeViewEditBox;
 	class EditorCommand;
-	class ResourceMeta;
+	class ProjectResourceMeta;
 
-	typedef std::shared_ptr<ResourceMeta> ResourceMetaPtr;
+	typedef std::shared_ptr<ProjectResourceMeta> ProjectResourceMetaPtr;
 	typedef std::shared_ptr<DockManagerLayout> DockManagerLayoutPtr;
 	typedef std::shared_ptr<EditorWidgetLayout> EditorWidgetLayoutPtr;
 

+ 2 - 2
BansheeEditor/Include/BsProjectLibrary.h

@@ -36,7 +36,7 @@ namespace BansheeEngine
 			ResourceEntry();
 			ResourceEntry(const Path& path, const WString& name, DirectoryEntry* parent);
 
-			ResourceMetaPtr meta;
+			ProjectResourceMetaPtr meta;
 			std::time_t lastUpdateTime;
 		};
 
@@ -58,7 +58,7 @@ namespace BansheeEngine
 		const LibraryEntry* getRootEntry() const { return mRootEntry; }
 		LibraryEntry* findEntry(const Path& fullPath) const;
 
-		ResourceMetaPtr findResourceMeta(const String& uuid) const;
+		ProjectResourceMetaPtr findResourceMeta(const String& uuid) const;
 
 		void moveEntry(const Path& oldPath, const Path& newPath);
 		void deleteEntry(const Path& path);

+ 37 - 37
BansheeEditor/Include/BsResourceMeta.h → BansheeEditor/Include/BsProjectResourceMeta.h

@@ -1,38 +1,38 @@
-#pragma once
-
-#include "BsEditorPrerequisites.h"
-#include "BsIReflectable.h"
-
-namespace BansheeEngine
-{
-	class ResourceMeta : public IReflectable
-	{
-	private:
-		struct ConstructPrivately {};
-
-	public:
-		explicit ResourceMeta(const ConstructPrivately&);
-
-		static ResourceMetaPtr create(const String& uuid, const WString& displayName, 
-			const ImportOptionsPtr& importOptions);
-
-		const String& getUUID() const { return mUUID; }
-		const WString& getDisplayName() const { return mDisplayName; }
-		const ImportOptionsPtr& getImportOptions() const { return mImportOptions; }
-
-	private:
-		String mUUID;
-		WString mDisplayName;
-		ImportOptionsPtr mImportOptions;
-
-		/************************************************************************/
-		/* 								RTTI		                     		*/
-		/************************************************************************/
-		static ResourceMetaPtr createEmpty();
-
-	public:
-		friend class ResourceMetaRTTI;
-		static RTTITypeBase* getRTTIStatic();
-		virtual RTTITypeBase* getRTTI() const;	
-	};
+#pragma once
+
+#include "BsEditorPrerequisites.h"
+#include "BsIReflectable.h"
+
+namespace BansheeEngine
+{
+	class ProjectResourceMeta : public IReflectable
+	{
+	private:
+		struct ConstructPrivately {};
+
+	public:
+		explicit ProjectResourceMeta(const ConstructPrivately&);
+
+		static ProjectResourceMetaPtr create(const String& uuid, const ResourceMetaDataPtr& resourceMetaData,
+			const ImportOptionsPtr& importOptions);
+
+		const String& getUUID() const { return mUUID; }
+		ResourceMetaDataPtr getResourceMetaData() const { return mResourceMeta; }
+		const ImportOptionsPtr& getImportOptions() const { return mImportOptions; }
+
+	private:
+		String mUUID;
+		ResourceMetaDataPtr mResourceMeta;
+		ImportOptionsPtr mImportOptions;
+
+		/************************************************************************/
+		/* 								RTTI		                     		*/
+		/************************************************************************/
+		static ProjectResourceMetaPtr createEmpty();
+
+	public:
+		friend class ResourceMetaRTTI;
+		static RTTITypeBase* getRTTIStatic();
+		virtual RTTITypeBase* getRTTI() const;	
+	};
 }

+ 47 - 0
BansheeEditor/Include/BsProjectResourceMetaRTTI.h

@@ -0,0 +1,47 @@
+#pragma once
+
+#include "BsPrerequisites.h"
+#include "BsRTTIType.h"
+#include "BsProjectResourceMeta.h"
+#include "BsResourceMetaData.h"
+#include "BsImportOptions.h"
+
+namespace BansheeEngine
+{
+	class ResourceMetaRTTI : public RTTIType<ProjectResourceMeta, IReflectable, ResourceMetaRTTI>
+	{
+	private:
+		String& getUUID(ProjectResourceMeta* obj) { return obj->mUUID; }
+		void setUUID(ProjectResourceMeta* obj, String& val) { obj->mUUID = val; } 
+
+		ResourceMetaDataPtr getResourceMeta(ProjectResourceMeta* obj) { return obj->mResourceMeta; }
+		void setResourceMeta(ProjectResourceMeta* obj, ResourceMetaDataPtr val) { obj->mResourceMeta = val; }
+
+		ImportOptionsPtr getImportOptions(ProjectResourceMeta* obj) { return obj->mImportOptions; }
+		void setImportOptions(ProjectResourceMeta* obj, ImportOptionsPtr val) { obj->mImportOptions = val; }
+
+	public:
+		ResourceMetaRTTI()
+		{
+			addPlainField("mUUID", 0, &ResourceMetaRTTI::getUUID, &ResourceMetaRTTI::setUUID);
+			addReflectablePtrField("mImportOptions", 1, &ResourceMetaRTTI::getImportOptions, &ResourceMetaRTTI::setImportOptions);
+			addReflectablePtrField("mResourceMeta", 2, &ResourceMetaRTTI::getResourceMeta, &ResourceMetaRTTI::setResourceMeta);
+		}
+
+		virtual const String& getRTTIName()
+		{
+			static String name = "ResourceMeta";
+			return name;
+		}
+
+		virtual UINT32 getRTTIId()
+		{
+			return TID_ResourceMeta;
+		}
+
+		virtual std::shared_ptr<IReflectable> newRTTIObject()
+		{
+			return ProjectResourceMeta::createEmpty();
+		}
+	};
+}

+ 0 - 46
BansheeEditor/Include/BsResourceMetaRTTI.h

@@ -1,46 +0,0 @@
-#pragma once
-
-#include "BsPrerequisites.h"
-#include "BsRTTIType.h"
-#include "BsResourceMeta.h"
-#include "BsImportOptions.h"
-
-namespace BansheeEngine
-{
-	class ResourceMetaRTTI : public RTTIType<ResourceMeta, IReflectable, ResourceMetaRTTI>
-	{
-	private:
-		String& getUUID(ResourceMeta* obj) { return obj->mUUID; }
-		void setUUID(ResourceMeta* obj, String& val) { obj->mUUID = val; } 
-
-		WString& getDisplayName(ResourceMeta* obj) { return obj->mDisplayName; }
-		void setDisplayName(ResourceMeta* obj, WString& val) { obj->mDisplayName = val; }
-
-		ImportOptionsPtr getImportOptions(ResourceMeta* obj) { return obj->mImportOptions; }
-		void setImportOptions(ResourceMeta* obj, ImportOptionsPtr val) { obj->mImportOptions = val; }
-
-	public:
-		ResourceMetaRTTI()
-		{
-			addPlainField("mUUID", 0, &ResourceMetaRTTI::getUUID, &ResourceMetaRTTI::setUUID);
-			addReflectablePtrField("mImportOptions", 1, &ResourceMetaRTTI::getImportOptions, &ResourceMetaRTTI::setImportOptions);
-			addPlainField("mDisplayName", 2, &ResourceMetaRTTI::getDisplayName, &ResourceMetaRTTI::setDisplayName);
-		}
-
-		virtual const String& getRTTIName()
-		{
-			static String name = "ResourceMeta";
-			return name;
-		}
-
-		virtual UINT32 getRTTIId()
-		{
-			return TID_ResourceMeta;
-		}
-
-		virtual std::shared_ptr<IReflectable> newRTTIObject()
-		{
-			return ResourceMeta::createEmpty();
-		}
-	};
-}

+ 8 - 8
BansheeEditor/Source/BsProjectLibrary.cpp

@@ -5,7 +5,7 @@
 #include "BsResources.h"
 #include "BsResourceManifest.h"
 #include "BsImporter.h"
-#include "BsResourceMeta.h"
+#include "BsProjectResourceMeta.h"
 #include "BsResources.h"
 #include "BsImporter.h"
 #include "BsImportOptions.h"
@@ -355,9 +355,9 @@ namespace BansheeEngine
 			{
 				std::shared_ptr<IReflectable> loadedMeta = fs.decode(metaPath);
 
-				if(loadedMeta != nullptr && loadedMeta->isDerivedFrom(ResourceMeta::getRTTIStatic()))
+				if(loadedMeta != nullptr && loadedMeta->isDerivedFrom(ProjectResourceMeta::getRTTIStatic()))
 				{
-					ResourceMetaPtr resourceMeta = std::static_pointer_cast<ResourceMeta>(loadedMeta);
+					ProjectResourceMetaPtr resourceMeta = std::static_pointer_cast<ProjectResourceMeta>(loadedMeta);
 					resource->meta = resourceMeta;
 				}
 			}
@@ -378,9 +378,9 @@ namespace BansheeEngine
 			{
 				importedResource = Importer::instance().import(resource->path, importOptions);
 
-				WString displayName = toWString(importedResource->getName());
+				ResourceMetaDataPtr subMeta = importedResource->getMetaData();
 
-				resource->meta = ResourceMeta::create(importedResource.getUUID(), displayName, importOptions);
+				resource->meta = ProjectResourceMeta::create(importedResource.getUUID(), subMeta, importOptions);
 				FileSerializer fs;
 				fs.encode(resource->meta.get(), metaPath);
 			}
@@ -463,7 +463,7 @@ namespace BansheeEngine
 		return nullptr;
 	}
 
-	ResourceMetaPtr ProjectLibrary::findResourceMeta(const String& uuid) const
+	ProjectResourceMetaPtr ProjectLibrary::findResourceMeta(const String& uuid) const
 	{
 		if (mResourceManifest == nullptr)
 			return nullptr;
@@ -731,9 +731,9 @@ namespace BansheeEngine
 						{
 							std::shared_ptr<IReflectable> loadedMeta = fs.decode(metaPath);
 
-							if(loadedMeta != nullptr && loadedMeta->isDerivedFrom(ResourceMeta::getRTTIStatic()))
+							if(loadedMeta != nullptr && loadedMeta->isDerivedFrom(ProjectResourceMeta::getRTTIStatic()))
 							{
-								ResourceMetaPtr resourceMeta = std::static_pointer_cast<ResourceMeta>(loadedMeta);
+								ProjectResourceMetaPtr resourceMeta = std::static_pointer_cast<ProjectResourceMeta>(loadedMeta);
 								resEntry->meta = resourceMeta;
 							}
 						}

+ 40 - 0
BansheeEditor/Source/BsProjectResourceMeta.cpp

@@ -0,0 +1,40 @@
+#include "BsProjectResourceMeta.h"
+#include "BsProjectResourceMetaRTTI.h"
+
+namespace BansheeEngine
+{
+	ProjectResourceMeta::ProjectResourceMeta(const ConstructPrivately& dummy)
+	{
+
+	}
+
+	ProjectResourceMetaPtr ProjectResourceMeta::create(const String& uuid, const ResourceMetaDataPtr& resourceMetaData, 
+		const ImportOptionsPtr& importOptions)
+	{
+		ProjectResourceMetaPtr meta = bs_shared_ptr<ProjectResourceMeta>(ConstructPrivately());
+		meta->mUUID = uuid;
+		meta->mResourceMeta = resourceMetaData;
+		meta->mImportOptions = importOptions;
+
+		return meta;
+	}
+
+	ProjectResourceMetaPtr ProjectResourceMeta::createEmpty()
+	{
+		return bs_shared_ptr<ProjectResourceMeta>(ConstructPrivately());
+	}
+
+	/************************************************************************/
+	/* 								RTTI		                     		*/
+	/************************************************************************/
+
+	RTTITypeBase* ProjectResourceMeta::getRTTIStatic()
+	{
+		return ResourceMetaRTTI::instance();
+	}
+
+	RTTITypeBase* ProjectResourceMeta::getRTTI() const
+	{
+		return ProjectResourceMeta::getRTTIStatic();
+	}
+}

+ 0 - 39
BansheeEditor/Source/BsResourceMeta.cpp

@@ -1,39 +0,0 @@
-#include "BsResourceMeta.h"
-#include "BsResourceMetaRTTI.h"
-
-namespace BansheeEngine
-{
-	ResourceMeta::ResourceMeta(const ConstructPrivately& dummy)
-	{
-
-	}
-
-	ResourceMetaPtr ResourceMeta::create(const String& uuid, const WString& displayName, const ImportOptionsPtr& importOptions)
-	{
-		ResourceMetaPtr meta = bs_shared_ptr<ResourceMeta>(ConstructPrivately());
-		meta->mUUID = uuid;
-		meta->mDisplayName = displayName;
-		meta->mImportOptions = importOptions;
-
-		return meta;
-	}
-
-	ResourceMetaPtr ResourceMeta::createEmpty()
-	{
-		return bs_shared_ptr<ResourceMeta>(ConstructPrivately());
-	}
-
-	/************************************************************************/
-	/* 								RTTI		                     		*/
-	/************************************************************************/
-
-	RTTITypeBase* ResourceMeta::getRTTIStatic()
-	{
-		return ResourceMetaRTTI::instance();
-	}
-
-	RTTITypeBase* ResourceMeta::getRTTI() const
-	{
-		return ResourceMeta::getRTTIStatic();
-	}
-}

+ 1 - 1
BansheeFBXImporter/Source/BsFBXImporter.cpp

@@ -53,7 +53,7 @@ namespace BansheeEngine
 		MeshPtr mesh = Mesh::_createPtr(meshData, subMeshes);
 
 		WString fileName = filePath.getWFilename(false);
-		mesh->setName(toString(fileName));
+		mesh->setName(fileName);
 
 		return mesh;
 	}

+ 2 - 2
BansheeFontImporter/Source/BsFontImporter.cpp

@@ -294,7 +294,7 @@ namespace BansheeEngine
 						RenderSystem::instancePtr(), newTex.getInternalPtr(), subresourceIdx, pixelData, false, _1));
 				}
 
-				newTex->setName("FontPage" + toString((UINT32)fontData.texturePages.size()));
+				newTex->setName(L"FontPage" + toWString((UINT32)fontData.texturePages.size()));
 				fontData.texturePages.push_back(newTex);
 
 				pageIdx++;
@@ -320,7 +320,7 @@ namespace BansheeEngine
 		FT_Done_FreeType(library);
 
 		WString fileName = filePath.getWFilename(false);
-		newFont->setName(toString(fileName));
+		newFont->setName(fileName);
 
 		return newFont;
 	}

+ 1 - 1
BansheeFreeImgImporter/Source/BsFreeImgImporter.cpp

@@ -173,7 +173,7 @@ namespace BansheeEngine
 		fileData->close();
 
 		WString fileName = filePath.getWFilename(false);
-		newTexture->setName(toString(fileName));
+		newTexture->setName(fileName);
 
 		return newTexture;
 	}