Files
Nitrox/Nitrox.Launcher/Models/Converters/PlatformToIconConverter.cs
2025-07-06 00:23:46 +02:00

25 lines
940 B
C#

using System;
using System.Globalization;
using Avalonia.Media.Imaging;
using Nitrox.Launcher.Models.Utils;
using NitroxModel.Discovery.Models;
namespace Nitrox.Launcher.Models.Converters;
public class PlatformToIconConverter : Converter<PlatformToIconConverter>
{
public override object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return AssetHelper.GetAssetFromStream(GetIconPathForPlatform(value as Platform?), static stream => new Bitmap(stream));
}
private static string GetIconPathForPlatform(Platform? platform) => platform switch
{
Platform.EPIC => "/Assets/Images/store-icons/epic.png",
Platform.STEAM => "/Assets/Images/store-icons/steam.png",
Platform.MICROSOFT => "/Assets/Images/store-icons/xbox.png",
Platform.DISCORD => "/Assets/Images/store-icons/discord.png",
_ => "/Assets/Images/store-icons/missing.png",
};
}