Skip to content

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

命名空间 GameSystemUI.SettingsSystemUI

csharp
public sealed class SettingsLink

其他页上的外部链接。打开前必须已加入客户端 URL 白名单。

构造函数 ​

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

可选语言。为空时使用简体中文和英文。

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

语言列表。为空时使用简体中文和英文。

csharp
public IReadOnlyList<SettingsLink>? Links { get; init; }

其他页外部链接。