XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEEDToolBox

【WinUI】XFE精英危险工具箱

公开
关注 0 Fork 0 Star 0
UTF-8
using System.Text.Json;
using XFEEDToolBox.Core.Engineering;
using XFEEDToolBox.Core.Localization;
using XFEEDToolBox.Core.Models;

namespace XFEEDToolBox.Core.Galaxy;

public sealed record EngineerLocation(string Name,string SystemName,string BaseName,Coordinates Position,string Body,string PortraitFile)
{
    public string DisplayName=>ChineseNames.Translate(Name) is var name&&name!="未收录名称"?name:Name;
    public string Portrait=>"ms-appx:///Assets/Engineers/"+PortraitFile;
    public string Detail=>SystemName+" · "+BaseName;
}
public static class EngineerDirectory
{
    public static IReadOnlyList<EngineerLocation> All {get;}=Read();
    private static IReadOnlyList<EngineerLocation> Read()
    {
        using var stream=typeof(EngineerDirectory).Assembly.GetManifestResourceStream("XFEEDToolBox.Core.Galaxy.engineers.json")!;
        return JsonSerializer.Deserialize<EngineerLocation[]>(stream,ToolboxSettings.JsonOptions)??[];
    }
    public static EngineerLocation? Find(string name)=>All.FirstOrDefault(e=>EngineeringCatalog.SameEngineer(e.Name,name));
}