主题
GameSystemUI.SettingsSystemUI
SettingsCatalog 仅客户端
命名空间 GameSystemUI.SettingsSystemUI
csharp
public static class SettingsCatalog项目自定义设置目录。仅客户端可调用。变更通过 PreferenceChanged 通知,ClientSettings 本身没有变更事件。
属性
Items 仅客户端
csharp
public static IReadOnlyList<SettingsItem> Items { get; }当前已注册的项,顺序与注册顺序一致。
方法
Add 仅客户端
csharp
public static void Add(SettingsItem item)注册或按键替换一项。
Remove 仅客户端
csharp
public static bool Remove(string key)按键移除一项。
Clear 仅客户端
csharp
public static void Clear()清空目录。
事件
PreferenceChanged 仅客户端
csharp
public static event Action<string, object?>? PreferenceChanged自定义项写入后触发。参数是键和刚写入的值。
SettingsChoiceOption 仅客户端
命名空间 GameSystemUI.SettingsSystemUI
csharp
public sealed class SettingsChoiceOption单选项。
构造函数
SettingsChoiceOption 仅客户端
csharp
public SettingsChoiceOption()属性
Label 仅客户端
csharp
public required string Label { get; init; }界面上显示的文字。
Value 仅客户端
csharp
public required string Value { get; init; }写入偏好的稳定值。
SettingsItem 仅客户端
命名空间 GameSystemUI.SettingsSystemUI
csharp
public sealed class SettingsItem一条项目自定义本地设置。Key 在目录内唯一。
构造函数
SettingsItem 仅客户端
csharp
public SettingsItem()属性
Key 仅客户端
csharp
public required string Key { get; init; }偏好键。不要存放进度、付费或凭据。
Title 仅客户端
csharp
public required string Title { get; init; }行标题。
Group 仅客户端
csharp
public string Group { get; init; }分组标题。空字符串归入默认分组。
Kind 仅客户端
csharp
public SettingsItemKind Kind { get; init; }控件种类。
Scope 仅客户端
csharp
public ClientSettingScope Scope { get; init; }存储范围。默认只属于当前游戏。
DefaultBool 仅客户端
csharp
public bool DefaultBool { get; init; }开关缺省值。
Min 仅客户端
csharp
public float Min { get; init; }滑动条最小值。
Max 仅客户端
csharp
public float Max { get; init; }滑动条最大值。
DefaultFloat 仅客户端
csharp
public float DefaultFloat { get; init; }滑动条缺省值。
DefaultString 仅客户端
csharp
public string DefaultString { get; init; }文本或单选缺省值。
Options 仅客户端
csharp
public IReadOnlyList<SettingsChoiceOption> Options { get; init; }单选可选项。
LabelText 仅客户端
csharp
public string LabelText { get; init; }只读说明文字。
SettingsItemKind 仅客户端
命名空间 GameSystemUI.SettingsSystemUI
csharp
public enum SettingsItemKind项目自定义设置项的控件种类。
枚举值
Switch— 布尔开关,写入 Preferences bool。Slider— 浮点滑动条,写入 Preferences float。Choice— 单选,写入 Preferences string。Text— 短文本,失焦后写入 Preferences string。Label— 只读说明,不写入设置。
SettingsLauncher 仅客户端
命名空间 GameSystemUI.SettingsSystemUI
csharp
public static class SettingsLauncher默认的设置入口。右上角白色齿轮按钮,点击打开或关闭设置面板。
方法
CreateOpenButton 仅客户端
csharp
public static Panel CreateOpenButton(SettingsWindowOptions? windowOptions = null)Toggle 仅客户端
csharp
public static void Toggle()SettingsLink 仅客户端
命名空间 GameSystemUI.SettingsSystemUI
csharp
public sealed class SettingsLink其他页上的外部链接。打开前必须已加入客户端 URL 白名单。
构造函数
SettingsLink 仅客户端
csharp
public SettingsLink()属性
Title 仅客户端
csharp
public required string Title { get; init; }按钮文字。
Url 仅客户端
csharp
public required string Url { get; init; }绝对 URL。
SettingsWindow 仅客户端
命名空间 GameSystemUI.SettingsSystemUI
csharp
public sealed class SettingsWindow : Panel客户端设置面板。打开时读取当前值,用户操作时写入,不每帧刷新。
属性
ShowVoice 仅客户端
csharp
public bool ShowVoice { get; set; }是否显示语音和麦克风。
ShowQuitGame 仅客户端
csharp
public bool ShowQuitGame { get; set; }是否显示退出当前游戏。
ShowDiagnostics 仅客户端
csharp
public bool ShowDiagnostics { get; set; }是否显示只读性能诊断。
Languages 仅客户端
csharp
public IReadOnlyList<CultureInfo> Languages { get; set; }可选语言。为空时使用简体中文和英文。
Links 仅客户端
csharp
public IReadOnlyList<SettingsLink> Links { get; set; }其他页外部链接。
IsShowing 仅客户端
csharp
public bool IsShowing { get; }面板当前是否可见。
方法
Create 仅客户端
csharp
public static SettingsWindow Create(SettingsWindowOptions? options = null)创建面板并加入界面,默认隐藏。
Show 仅客户端
csharp
public void Show()显示并按当前客户端设置刷新。
Hide 仅客户端
csharp
public void Hide()隐藏面板。
Toggle 仅客户端
csharp
public void Toggle()在显示和隐藏之间切换。
SettingsWindowOptions 仅客户端
命名空间 GameSystemUI.SettingsSystemUI
csharp
public sealed class SettingsWindowOptions创建设置窗口时的可选开关。
构造函数
SettingsWindowOptions 仅客户端
csharp
public SettingsWindowOptions()属性
ShowVoice 仅客户端
csharp
public bool ShowVoice { get; init; }是否显示语音和麦克风。默认关闭。
ShowQuitGame 仅客户端
csharp
public bool ShowQuitGame { get; init; }是否显示退出当前游戏。
ShowDiagnostics 仅客户端
csharp
public bool ShowDiagnostics { get; init; }是否显示只读性能诊断。
Languages 仅客户端
csharp
public IReadOnlyList<CultureInfo>? Languages { get; init; }语言列表。为空时使用简体中文和英文。
Links 仅客户端
csharp
public IReadOnlyList<SettingsLink>? Links { get; init; }其他页外部链接。