56 lines
2.3 KiB
Markdown
56 lines
2.3 KiB
Markdown
|
|
# EditorExtension 自定义工具栏项目模块手册
|
|||
|
|
|
|||
|
|
## 模块概述
|
|||
|
|
`ToolBarExtension` 目录在 `Toolbar` 框架之上实现了一组项目级工具栏元素:
|
|||
|
|
- `EditorQuickToolBar`
|
|||
|
|
- `LocalizationDropdownField`
|
|||
|
|
- `ResourceModeDropdownField`
|
|||
|
|
- `SwitchSceneToolBar`
|
|||
|
|
- `BuildSettingWindow`(当前源码为注释模板)
|
|||
|
|
|
|||
|
|
## 适用场景
|
|||
|
|
- 快速切换语言、资源模式与场景。
|
|||
|
|
- 把项目工具统一收口到主工具栏。
|
|||
|
|
- 自动调度 `EditorToolFunctionAttribute` 标记的方法。
|
|||
|
|
|
|||
|
|
## 快速上手
|
|||
|
|
这些类型均通过 `MainToolbarElementAttribute` 自动挂载,无需手动注册。
|
|||
|
|
|
|||
|
|
## 可调用 API
|
|||
|
|
### 类型:`AlicizaX.Editor.Extension.EditorQuickToolBar`
|
|||
|
|
源码:`Packages/com.alicizax.unity.editor.extension/Editor/ToolBarExtension/EditorQuickToolBar.cs`
|
|||
|
|
- `InitializeElement()`:初始化工具下拉按钮。
|
|||
|
|
|
|||
|
|
### 类型:`LocalizationDropdownField`
|
|||
|
|
源码:`Packages/com.alicizax.unity.editor.extension/Editor/ToolBarExtension/LocalizationDropdownField.cs`
|
|||
|
|
- `InitializeElement()`:初始化语言切换下拉框。
|
|||
|
|
- `InvokeOnValidateInScene()`:强制刷新场景中所有 `UXTextMeshPro` 的编辑器预览。
|
|||
|
|
|
|||
|
|
### 类型:`AlicizaX.Editor.Extension.ResourceModeDropdownField`
|
|||
|
|
源码:`Packages/com.alicizax.unity.editor.extension/Editor/ToolBarExtension/ResourceModeDropdownField.cs`
|
|||
|
|
- `InitializeElement()`:初始化资源模式下拉框。
|
|||
|
|
|
|||
|
|
### 类型:`SwitchSceneToolBar`
|
|||
|
|
源码:`Packages/com.alicizax.unity.editor.extension/Editor/ToolBarExtension/SwitchSceneToolBar.cs`
|
|||
|
|
- `InitializeElement()`:初始化场景切换按钮并监听场景切换。
|
|||
|
|
|
|||
|
|
### 类型:`BuildSettingWindow`
|
|||
|
|
- 说明:当前源码整体注释,无生效公开 API,可作为未来扩展模板。
|
|||
|
|
|
|||
|
|
## 详细使用说明
|
|||
|
|
### `EditorQuickToolBar`
|
|||
|
|
- 从 `EditorToolFunctionAttributeCollector.Attributes` 读取菜单项。
|
|||
|
|
- 点击菜单后通过反射执行静态方法。
|
|||
|
|
|
|||
|
|
### `LocalizationDropdownField`
|
|||
|
|
- 读取语言列表并写入 `EditorPrefs`。
|
|||
|
|
- 切换后会刷新场景里的 `UXTextMeshPro` 文本预览。
|
|||
|
|
|
|||
|
|
### `ResourceModeDropdownField`
|
|||
|
|
- 提供 `Editor / Offline / Host / Webgl` 四种模式。
|
|||
|
|
- 模式结果通过 `EditorPrefs` 持久化。
|
|||
|
|
|
|||
|
|
### `SwitchSceneToolBar`
|
|||
|
|
- 默认扫描 `Assets/Bundles/` 与 `Assets/Scenes/` 下的场景。
|
|||
|
|
- 切换前会检查当前场景未保存状态。
|