Skip to content

编辑器扩展

更新: 3/24/2026 字数: 0 字 时长: 0 分钟

Comming Soon...

绘制 Gizmos:

c#
void OnDrawGizmos() {}
void OnDrawGizmosOnSelected() {}

菜单栏:

c#
[MenuItem("Tools/Do Something %g")] // Ctrl + G 快捷键
static void DoSomething() {}

Context Menu:

c#
[ContextMenu("Reset")]
void Reset() {}

扩展 Inspector:

c#
namespace Editor
{
    // 所有使用了 UnityEditor 命名空间的脚本,都需要放在 Editor 文件夹下
    [CustomEditor(typeof(MyComponent))]
    public class MyComponentEditor : Editor
    {
        public override void OnInspectorGUI()
        {
            if (GUILayout.Button("上按钮"))
            {
                // 执行某些操作
            }
            base.OnInspectorGUI();
            if (GUILayout.Button("下按钮"))
            {
                // 执行某些操作
            }
        }
    }
}

创建自定义窗口:

c#
public class MyWindow : EditorWindow
{
    [MenuItem("Tools/My Window")]
    public static void ShowWindow()
    {
        // 创建并显示窗口
        GetWindow<MyWindow>("My Window");
    }

    private void OnGUI()
    {
        // 在窗口中绘制内容
        GUILayout.Label("这是一个自定义窗口", EditorStyles.boldLabel);
        if (GUILayout.Button("点击我"))
        {
            Debug.Log("按钮被点击了!");
        }
    }
}