Files
Hyperbar/Hyperbar.Widget.Windows/WidgetResourceInitializer.cs
TheXamlGuy 221c46218f moerfixes
2024-02-02 21:11:13 +00:00

30 lines
1000 B
C#

using Windows.ApplicationModel.Resources.Core;
using Windows.Storage;
namespace Hyperbar.Widget.Windows;
internal class WidgetResourceInitializer(IWidgetAssembly widgetAssembly) :
IInitializer
{
public async Task InitializeAsync()
{
string assemblyDirectory = Path.GetDirectoryName(widgetAssembly.Assembly.Location) ?? string.Empty;
string[] possibleFileNames = ["resources.pri", $"{widgetAssembly.Assembly.GetName().Name}.pri"];
FileInfo? resourceFileInfo = null;
foreach (string fileName in possibleFileNames)
{
resourceFileInfo = new FileInfo(Path.Combine(assemblyDirectory, fileName));
if (resourceFileInfo.Exists)
{
break;
}
}
if (resourceFileInfo?.Exists is true)
{
StorageFile file = await StorageFile.GetFileFromPathAsync(resourceFileInfo.FullName);
ResourceManager.Current.LoadPriFiles(new[] { file });
}
}
}