UICreator 脚本技术文档
该脚本提供了一套在 Unity 编辑器中快速创建标准化 UI 组件的工具方法,通过 MenuItem 特性将这些功能集成到 Unity 的 GameObject 菜单中,同时确保新创建的对象遵循统一的规范。
核心功能实现
UIItemRed 创建方法
通过 AddUIItemRed 方法从指定路径加载预制的 UIItemRed 预制体,实例化并设置基础属性。方法包含错误处理机制,当预制体加载失败时会输出错误日志。实例化后的对象会自动命名为 "UIItemRed_" 前缀。
Container 创建方法
AddContainer 方法动态创建带有 Container 组件的空游戏对象。新对象默认命名为 "Container_",适合作为其他 UI 元素的布局容器使用。
通用设置方法
SetupNewObject 私有方法封装了新建对象的通用设置逻辑:
- 自动将新对象设置为当前选中对象的子级(通过
menuCommand.context获取父级) - 创建后立即选中新对象(通过
Selection.activeObject设置) - 注册撤销操作(通过
Undo.RegisterCreatedObjectUndo实现)
菜单项配置
两个公共方法均使用 MenuItem 特性:
- 路径:
GameObject/UI/子菜单 - 执行优先级:1900 系列(确保出现在标准 UI 组件之后)
- UIItemRed 排序在 Container 之前(1902 vs 1906)
使用规范
- 预制体路径采用常量字符串
RED_PREFAB_PATH集中管理 - 所有新建对象名称都带有下划线后缀,便于识别和后续处理
- 通过
GameLog.Debug.LogError统一处理错误输出 - 创建操作均支持撤销(Undo)功能
扩展建议
- 可增加更多预制体类型的创建方法
- 考虑添加参数控制初始位置/旋转等属性
- 可扩展命名规则(如自动递增编号)
- 增加创建后的自动布局功能
该工具类有效提升了 UI 工作流的标准化程度和创建效率,特别适合需要频繁创建重复 UI 元素的开发场景。通过集中管理创建逻辑,确保了项目 UI 结构的一致性。