2.6 KiB
2.6 KiB
EditorExtension 基础工具模块手册
模块概述
基础工具模块由 EditorIcons 和 EditorToolFunctionAttribute 两部分组成:
EditorIcons:浏览、检索、预览并导出 Unity 内置编辑器图标。EditorToolFunctionAttribute:把静态方法声明为“编辑器快捷工具”,供EditorQuickToolBar自动收集。
适用场景
- 快速查找 Unity 内置图标。
- 将团队常用编辑器方法集中到工具栏菜单。
- 避免为每个工具重复创建顶级菜单。
快速上手
打开图标浏览器
- 菜单:
Tools/Extension/Editor Icons
声明工具函数
using AlicizaX.Editor.Extension;
using UnityEngine;
public static class DemoEditorTools
{
[EditorToolFunction("Demo/打印当前场景", 10)]
public static void PrintScene()
{
Debug.Log(UnityEditor.SceneManagement.EditorSceneManager.GetActiveScene().path);
}
}
详细使用说明
EditorIcons
- 支持关键字搜索。
- 支持大小图标切换。
- 支持单个导出 PNG。
- 支持批量导出全部图标到目录。
EditorToolFunctionAttribute
- 仅扫描静态方法。
- 扫描时机为编辑器加载阶段。
- 扫描结果按
MenuOrder升序排列。 - 建议被标记的方法不要带参数。
可调用 API
类型:EditorIcons
源码:Packages/com.alicizax.unity.editor.extension/Editor/EditorIcons.cs
public static void EditorIconsOpen()
- 作用:打开图标浏览窗口。
- 参数:无。
- 返回值:
void。
public static string[] ico_list
- 作用:内置图标名称列表。
- 示例:
foreach (var iconName in EditorIcons.ico_list)
{
Debug.Log(iconName);
}
类型:AlicizaX.Editor.Extension.EditorToolFunctionAttribute
源码:Packages/com.alicizax.unity.editor.extension/Editor/EditorToolFunctionAttribute.cs
public EditorToolFunctionAttribute(string menu, int menuOrder = 0)
- 作用:声明工具菜单路径与排序值。
- 参数:
menu:菜单路径。menuOrder:排序值。
public string ToolMenuPath { get; }
- 作用:获取菜单路径。
public int MenuOrder { get; }
- 作用:获取排序值。
public MethodInfo MethodInfo { get; }
- 作用:获取实际绑定的方法信息。
public void SetMethodInfo(MethodInfo methodInfo)
- 作用:由收集器在扫描时写入目标方法。
集成建议
- 推荐把所有项目编辑器命令统一声明为
EditorToolFunctionAttribute。 - 图标挑选可先通过
EditorIcons查名,再用于按钮和菜单项。