SuperCoreKit 配置面板
SuperCoreKit 是 SuperCore 的统一配置入口。它会扫描项目中所有继承 ConfigSO 的配置资产,按照 ConfigGroupAttribute 分组排序,并使用 ConfigEditorAttribute 指定的自定义编辑器绘制详情。没有指定自定义编辑器时,会回退到通用的 SerializedObject 面板。
子功能
打开与使用
Demo 默认在 Unity 主 Toolbar 提供 SuperCoreKit 按钮。打开后界面分为三部分:

需要逐项对照 Demo 当前配置时,查看 配置界面图鉴。图鉴覆盖三个页签中的 19 个配置入口,并展开了列表、样式项、资源组和构建 Stage。
- 顶部:配置分组,例如
Configs、GameSystem、EditorConfig。 - 左侧:当前分组中的配置资产。
- 右侧:当前配置的自定义详情页;页面可以提供固定工具栏和可滚动的数据区。
点击右上角 Refresh 会重新扫描项目中的 ConfigSO 资产。资产名以 Cfg_ 开头时,左侧按钮会隐藏该前缀,例如 Cfg_Audio 显示为 Audio。当前还有两个仅影响显示的别名:Cfg_Res 显示为 Resource,Cfg_UIWindowGenerator 显示为 UIGenerator。
Demo 当前接入的配置主要包括:
| 分组 | 配置 |
|---|---|
Configs | SuperCore、Module、Global、Res、HotUpdate、Debug、GM、Table、Localization、Audio、UI、Procedure |
GameSystem | Collision、FloatingText、HUD 等业务系统配置 |
EditorConfig | Build、AssetLabel、Atlas、ToolBarBtn、UIWindowGenerator |
分组只是编辑器导航,不改变配置的运行时归属。
默认编辑器
如果配置只需要普通字段,不必创建专用面板:
csharp
[ConfigGroup("Configs", 100)]
[CreateAssetMenu(menuName = "Game/Cfg_Simple", fileName = "Cfg_Simple")]
public sealed class SimpleCfg : ConfigSO
{
[SerializeField] private int m_Value;
}不添加 ConfigEditorAttribute 时,默认编辑器会遍历所有可见序列化字段,并锁定 m_Script。当配置需要列表操作、条件提示、清单预览或制作命令时,再使用自定义面板。
设计思路
配置数据、运行时加载和编辑器表现保持分离:
ConfigSO保存可序列化数据。- 所属 Module/GameSystem 决定配置的加载时机和生命周期。
SuperCoreConfigEditor<T>只提供制作体验,不承载业务逻辑。- Attribute 只描述发现和展示关系,避免运行时程序集引用 Editor 类型。
这种结构允许业务新增配置而不修改 SuperCoreKit 主窗口,也避免框架 Editor 程序集反向依赖具体业务类型。
注意事项
- 重命名配置类型或自定义编辑器类型后,要同步
ConfigEditorAttribute和资产中的字符串类型引用。 - 同一类型存在多个资产时,SuperCoreKit 会全部显示;运行时是否允许多份由所属模块约束。
- 固定路径配置不要复制第二份。Build 会校验
SuperCoreCfg、ModuleCfg、ResCfg的唯一性。 - Editor 配置放在 Editor 目录;需要进入 Player 的配置必须由 YooAsset 或 Resources 的既定路径收集。
- 配置字段重命名后同步迁移资产数据,不通过旧字段兼容长期保留两套语义。
