UI Generator
UI Generator 用于创建 UI Window/Widget 预制体,并根据节点命名生成 Logic 和 Binding 两部分脚本。Logic 只在第一次创建,Binding 可以反复覆盖,因此界面结构变更后可以安全重新生成绑定代码。
打开方式:Unity Toolbar 的 EditorWindow / UI Generator。如果打开前在 Project 中选中了合法 UI Prefab,窗口会自动带入选择。

固定配置:
text
Assets/SuperCore/Editor/Cfg_UIWindowGenerator.asset配置缺失时,显式打开 UI Generator 会在固定路径创建默认资产;也可以从 Create / SuperCore / Cfg_UIWindowGenerator 创建。配置页位于 SuperCoreKit 的 EditorConfig / UIGenerator。
子功能
生成与覆盖规则
Window:
text
UIBagWindow.cs // Logic,存在时不覆盖
UIBagWindow.Binding.cs // Binding,每次重新生成Widget 同样拆成 Logic 与 Binding。所有生成脚本使用 UTF-8 无 BOM,并带 Demo 的 Super Core 版权头。
重新生成时:
- Logic 已存在则保留业务代码。
- 旧 Binding 删除并重新写入。
- 嵌套 Widget 会递归生成自己的 Binding。
- 生成完成后刷新 AssetDatabase。
删除
选择已生成 Prefab 后,Delete 会先列出并确认以下路径:
- 当前 Prefab。
- 对应 Logic 脚本。
- 对应 Binding 脚本。
路径只从当前 Window/Widget 类型和配置目录推导,不全项目扫描同名文件。确认后使用 AssetDatabase.DeleteAsset 删除存在的目标。删除是破坏性操作,确认弹窗中的完整列表应逐项检查。
设计思路
- Prefab 是层级和序列化组件的源数据。
- Binding 是可重复生成的机械代码。
- Logic 是业务代码,生成后归开发者维护。
- 节点命名规则与组件映射由配置决定,生成器不把业务组件写死。
- Window Options 跟随生成的窗口类型,避免另建重复清单。
注意事项
- 修改 Component Marker 或 Key 会影响所有后续扫描,存量 Prefab 需要同步重命名。
- 同一 Prefab 中不要生成重复字段名。
- 移动输出目录后同步 asmdef、YooAsset Collector、AssetLabelCfg Folders 和命名规则。
- Binding 可以覆盖,Logic 不会覆盖;模板升级不会自动改写已有 Logic。
- 删除前确认范围;工具不会为错误目录猜测备用路径。
- 生成后等待 Unity 编译完成,再执行“添加 Widget 组件”。
