AlicizaX/Client/Assets/Books/EditorExtension/CustomToolbarItems.md
2026-04-01 13:20:06 +08:00

56 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/` 下的场景。
- 切换前会检查当前场景未保存状态。