forked from sin365/AxibugEmuOnline
42 lines
1.0 KiB
C#
42 lines
1.0 KiB
C#
using System.IO;
|
|
using System.Reflection;
|
|
|
|
using StoicGoose.Common.Drawing;
|
|
|
|
namespace StoicGoose.Common.Utilities
|
|
{
|
|
public static class Resources
|
|
{
|
|
private static Stream GetEmbeddedResourceStream(string name)
|
|
{
|
|
var assembly = Assembly.GetEntryAssembly();
|
|
name = $"{assembly.GetName().Name}.{name}";
|
|
return assembly.GetManifestResourceStream(name);
|
|
}
|
|
|
|
public static RgbaFile GetEmbeddedRgbaFile(string name)
|
|
{
|
|
using var stream = GetEmbeddedResourceStream(name);
|
|
if (stream == null) return null;
|
|
return new RgbaFile(stream);
|
|
}
|
|
|
|
public static string GetEmbeddedText(string name)
|
|
{
|
|
using var stream = GetEmbeddedResourceStream(name);
|
|
if (stream == null) return string.Empty;
|
|
using var reader = new StreamReader(stream);
|
|
return reader.ReadToEnd();
|
|
}
|
|
|
|
public static byte[] GetEmbeddedRawData(string name)
|
|
{
|
|
using var stream = GetEmbeddedResourceStream(name);
|
|
if (stream == null) return null;
|
|
var buffer = new byte[stream.Length];
|
|
stream.Read(buffer, 0, buffer.Length);
|
|
return buffer;
|
|
}
|
|
}
|
|
}
|