[Unity编辑器]通过拖拽获取文件路径

  1. using UnityEngine;  
  2. using System.Collections;  
  3. using UnityEditor;  
  4.   
  5. public class TestDrag : EditorWindow {  
  6.   
  7.     string path;  
  8.     Rect rect;  
  9.   
  10.     [MenuItem("Window/TestDrag")]  
  11.     static void Init()  
  12.     {  
  13.         EditorWindow.GetWindow(typeof(TestDrag));  
  14.     }  
  15.   
  16.     void OnGUI()  
  17.     {  
  18.         EditorGUILayout.LabelField("路径");  
  19.         //获得一个长300的框  
  20.         rect = EditorGUILayout.GetControlRect(GUILayout.Width(300));  
  21.         //将上面的框作为文本输入框  
  22.         path = EditorGUI.TextField(rect, path);  
  23.   
  24.         //如果鼠标正在拖拽中或拖拽结束时,并且鼠标所在位置在文本输入框内  
  25.         if ((Event.current.type == EventType.DragUpdated  
  26.           || Event.current.type == EventType.DragExited)  
  27.           && rect.Contains(Event.current.mousePosition))  
  28.         {  
  29.             //改变鼠标的外表  
  30.             DragAndDrop.visualMode = DragAndDropVisualMode.Generic;  
  31.             if (DragAndDrop.paths != null && DragAndDrop.paths.Length > 0)  
  32.             {  
  33.                 path = DragAndDrop.paths[0];  
  34.             }  
  35.         }  
  36.     }  
  37. }  

你可能感兴趣的:(Unity3D)