anx.framework/ANX.Framework/Content/ResourceContentManager.cs
SND\AstrorEnales_cp 73b50ab6c3 - Translated the AlphaTest shader to GLSL (needs some more testing)
- Added a bunch of Development attributes
- Fixed a class file name that was different from the class name itself
2015-03-15 01:11:46 +01:00

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[]);
}
}
}