Show More
Commit Description:
Various UI improvements.
Commit Description:
Various UI improvements.
File last commit:
Show/Diff file:
Action:
FNA/src/Content/ResourceContentManager.cs
66 lines | 1.3 KiB | text/x-csharp | CSharpLexer
#region License
/* FNA - XNA4 Reimplementation for Desktop Platforms
* Copyright 2009-2020 Ethan Lee and the MonoGame Team
*
* Released under the Microsoft Public License.
* See LICENSE for details.
*/
#endregion
#region Using Statements
using System;
using System.IO;
using System.Resources;
#endregion
namespace Microsoft.Xna.Framework.Content
{
public class ResourceContentManager : ContentManager
{
#region Private ResourceManager Instance
private ResourceManager resource;
#endregion
#region Public Constructor
public ResourceContentManager(
IServiceProvider servicesProvider,
ResourceManager resource
) : base(servicesProvider) {
if (resource == null)
{
throw new ArgumentNullException("resource");
}
this.resource = resource;
}
#endregion
#region Protected OpenStream Method
protected override Stream OpenStream(string assetName)
{
object obj = this.resource.GetObject(assetName);
if (obj == null)
{
throw new ContentLoadException("Resource not found");
}
byte[] byteArrayObject = obj as byte[];
if (byteArrayObject == null)
{
throw new ContentLoadException("Resource is not in binary format");
}
return new MemoryStream(
byteArrayObject,
0,
byteArrayObject.Length,
true,
true // This MUST be true! We may need GetBuffer()!
);
}
#endregion
}
}