anx.framework/ANX.Framework/Content/ResourceContentManager.cs
SND\AstrorEnales_cp 5505f7dcbf - Added PlatformSystem Plugins layer
- Started Windows, Metro and Linux Platform-Plugins
- Moved the RecordingSample to the Samples folder
- Started two samples for using the graphics device in a WinForms and Wpf Editor
- Refactorings in the AddIn-System
- Moved the Window initialization-code to the Platform modules
- Changed the License text in all code files which is now way smaller
- Started ProjectConverter tool which converts all the projects and solution to the target configuration
- Changed the SupportedPlatform names in the Resource files
- Changed the WIN8 define to WINDOWSMETRO which is actually meant
- Removed NLog and started our own Logger class
- Many more stuff...
2012-08-09 09:45:04 +00:00

46 lines
1.1 KiB
C#

using System;
using System.IO;
using System.Resources;
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework.Content
{
public class ResourceContentManager : ContentManager
{
private ResourceManager resource;
public ResourceContentManager(IServiceProvider servicesProvider,
ResourceManager resource)
: base(servicesProvider)
{
if (resource == null)
{
throw new ArgumentNullException("resource");
}
this.resource = resource;
}
protected override Stream OpenStream(string assetName)
{
#if WINDOWSMETRO // TODO: find replacement and encapsulate in platform addins!!
object obj = null;
#else
object obj = resource.GetObject(assetName);
#endif
if (obj == null)
{
throw new ContentLoadException("Resource not found");
}
if ((obj is byte[]) == false)
{
throw new ContentLoadException("Resource is not in binary format");
}
return new MemoryStream(obj as byte[]);
}
}
}