unity EditorWindow拖入文件或文件夹

有些话、适合烂在心里 提交于 2019-12-01 23:27:57

将脚本放在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]);//输入拖入的文件或文件夹路径
                    }
                }
            }
        }
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!