- Added a bunch of Development attributes - Fixed a class file name that was different from the class name itself
49 lines
1.3 KiB
C#
49 lines
1.3 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Resources;
|
|
using ANX.Framework.NonXNA.Development;
|
|
|
|
// 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
|
|
{
|
|
[PercentageComplete(80)]
|
|
[Developer("GinieDP")]
|
|
[TestState(TestStateAttribute.TestState.Untested)]
|
|
public class ResourceContentManager : ContentManager
|
|
{
|
|
private readonly 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[]);
|
|
}
|
|
}
|
|
}
|