将脚本放在Assets内的Editor文件夹里。
TestWindow.cs
using UnityEngine; using UnityEditor; public class TestWindow:EditorWindow{ [MenuItem("Tools/TestWindow")] static void createTestWindow() { var window=EditorWindow.GetWindow<TestWindow>(false,"TestWindow"); window.minSize=new Vector2(400,400); window.Show(); } private void OnGUI() { if(Event.current.type==EventType.DragUpdated){ DragAndDrop.visualMode=DragAndDropVisualMode.Generic;//鼠标外观 }else if(Event.current.type==EventType.DragExited){ if(mouseOverWindow==this){//鼠标位于当前窗口 //Rect rect=EditorGUILayout.GetControlRect(); //rect.Contains(Event.current.mousePosition);//可以使用鼠标位置判断进入指定区域 if(DragAndDrop.paths!=null){ int len=DragAndDrop.paths.Length; for(int i=0;i<len;i++){ Debug.Log(DragAndDrop.paths[i]);//输入拖入的文件或文件夹路径 } } } } } }