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

2.3 KiB
Raw Permalink Blame History

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