AxibugEmuOnline/AxibugEmuOnline.Client/Assets/Plugins/StoicGooseUnity/StoicGoose.Common/Utilities/Resources.cs

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;
}
}
}