Project
1.EditorApplication.projectWindowItemOnGUI //绘制的回调
2.EditorApplication.RepaintProjectWindow(); // 更新Project窗口
3.EditorApplication.projectChanged //Project窗口变化回调(创建资源或对其进行重命名或重定父级,以及移动或重命名项目中的文件夹)
using UnityEngine;
using UnityEditor;
using System;
[InitializeOnLoad]
public class ProjectTest
{
private static bool isEnable = false;
[MenuItem("MyMenu/Project")]
static void ActiveEnable()
{
if (isEnable)
{
isEnable = false;
//取消注册
EditorApplication.projectWindowItemOnGUI -= ProjectWindow;
EditorApplication.projectChanged -= OnProjectChanged;
}
else
{
isEnable = true;
//注册
EditorApplication.projectWindowItemOnGUI += ProjectWindow;
EditorApplication.projectChanged += OnProjectChanged;
}
Menu.SetChecked("MyMenu/Project", isEnable);
//刷新
EditorApplication.RepaintProjectWindow();
}
//渲染
private static void ProjectWindow(string guid, Rect selectionRect)
{
string path = AssetDatabase.GUIDToAssetPath(guid);
if (!string.IsNullOrEmpty(path))
{
EditorGUI.LabelField(new Rect(selectionRect.x + 100, selectionRect.y , selectionRect.width, selectionRect.height), path);
}
}
//更新
private static void OnProjectChanged()
{
Debug.Log("OnProjectChanged");
}
static ProjectTest()
{
Menu.SetChecked("MyMenu/Project", isEnable);
}
}
ProjectWindowUtil
免费课程链接:
独立游戏《Unity打造关卡编辑器》
Unity 独立游戏 关卡编辑器
https://bycwedu.vipwan.cn/promotion_channels/72762192
版权声明:本文为m0_46712616原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。