模块关系
GenericSettingsSystemUI 是独立适配层,依赖 GenericSettingsSystem 与 GenericUISystem。它把 Local Player 的设置 Registry 呈现到 CommonUI 中;若项目不需要 GGS 设置菜单,核心设置模块无需依赖这一层。
基本 Widget 结构
- 创建继承自
UGSS_GameSettingsMenu的菜单 Widget。 - 在菜单中放置
UGSS_GameSettingsPanel,并按约定绑定Settings_Panel。 - Panel 中配置用于承载条目的 ListView,并指定
UGSS_GameSettingsEntryWidgetFactory。 - 为 Discrete、Scalar、Action 和导航节点提供项目自己的条目 Widget;条目基于 CommonUI Widget 构建。
- 如需详情区,加入
UGSS_GameSettingsDetailView与对应的 Section Builder / Detail Section。
Widget 名称和 BindWidget 字段必须匹配对应基类的声明。可选控件可以省略;启用某种条目布局前,确认它的控件类和工厂都已配置。
菜单行为与导航
菜单可以调用 Apply、Cancel、重置可见设置、跳转到 SettingId,以及响应返回键。启用 bAutoBuildTopSettingsTabs 后,菜单可按顶层 Collection 自动建立 Tab,并用项目提供的 Tab Button 类呈现。
菜单离开时如果仍有未提交的修改,会按菜单实现恢复记录的初始值。项目仍应清晰展示 Apply/Cancel 状态,尤其是 Dynamic 值会即时写入 Accessor 的场景。导航目标应使用稳定的 Gameplay Tag,而不是 UI 显示文本。