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

XFEWarframe

【WinUI】基于Warframe游戏本体的公开服务器以及安装器

公开
关注 0 Fork 0 Star 0
UTF-8
using XFEWarframe.Desktop.Editing;
using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using XFEWarframe.Client;

namespace XFEWarframe.Player.Models;

public partial class ClientState : ObservableObject
{
    [ObservableProperty] public partial string GameDirectory { get; set; } = "";
    [ObservableProperty] public partial string ServerUrl { get; set; } = "http://127.0.0.1:8444";
    [ObservableProperty] public partial string Version { get; set; } = UiText.Translate("尚未选择");
    [ObservableProperty] public partial string Installation { get; set; } = UiText.Translate("尚未安装兼容组件");
    [ObservableProperty] public partial string ServerStatus { get; set; } = UiText.Translate("尚未检测服务器");
    [ObservableProperty] public partial string ServerName { get; set; } = UiText.Translate("尚未连接服务器");
    [ObservableProperty] public partial string OperationStatus { get; set; } = UiText.Translate("准备就绪");
    [ObservableProperty] public partial string CompatibilityStatus { get; set; } = UiText.Translate("运行检查以查看当前客户端兼容性");
    [ObservableProperty] public partial string CheckDetails { get; set; } = "";
    [ObservableProperty] public partial string Logs { get; set; } = UiText.Translate("暂无启动记录。");
    [ObservableProperty] public partial string Language { get; set; } = "zh";
    [ObservableProperty] public partial bool UseDirectX12 { get; set; }
    [ObservableProperty]
    [NotifyPropertyChangedFor(nameof(IsIdle), nameof(CanPlay))]
    public partial bool IsBusy { get; set; }
    [ObservableProperty]
    [NotifyPropertyChangedFor(nameof(CanPlay))]
    public partial bool IsInstalled { get; set; }

    public bool IsIdle => !IsBusy;
    public bool CanPlay => IsInstalled && IsIdle;
    public ObservableCollection<GameInstallation> DetectedGames { get; } = [];
}

public sealed record LanguageOption(string Name, string Code);