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