【编辑器】Unity中如何获取我鼠标选中文件目录路径

由于Unity默认所有资源窗口下的文件或文件夹都是资源文件,它们被导进Unity时一定都会被序列化出一个唯一ID存到.meta文件中,因此,根据唯一ID可以找到文件或文件夹,所以,可以使用Selection.assetGUIDs,再通过AssetDatabase.GUIDToAssetPath转成路径就行了

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Unity 编辑器,您可以使用 `EditorGUIUtility.systemCopyBuffer` 属性和 `EditorGUIUtility.systemCopyBufferIndex` 属性来获取当前选中的文本内容。这个属性会返回剪贴板的文本内容,如果当前选中了文本并进行了复制操作,那么剪贴板就会包含这段文本内容。 以下是一个示例代码,它可以在 Unity 编辑器获取编辑器输入框当前选中的文本内容并在 Console 窗口输出: ```csharp using UnityEngine; using UnityEditor; public class EditorUtils : EditorWindow { string inputText = "Hello World!"; [MenuItem("Window/EditorUtils")] static void Init() { EditorUtils window = GetWindow<EditorUtils>(); window.Show(); } void OnGUI() { inputText = EditorGUILayout.TextField(inputText); if (GUIUtility.keyboardControl == 0) EditorGUIUtility.systemCopyBufferIndex = 0; if (Event.current.type == EventType.MouseDown && Event.current.button == 1) { string selectedText = EditorGUIUtility.systemCopyBuffer; Debug.Log("Selected Text: " + selectedText); } } } ``` 在上面的示例代码,我们在 `OnGUI` 方法添加了一个文本输入框,并在 `OnGUI` 方法添加了一个事件处理器。当用户在编辑器输入框鼠标右键点击时,会调用 `EditorGUIUtility.systemCopyBuffer` 属性来获取当前选中的文本内容,并在 Console 窗口输出。 需要注意的是,为了使剪贴板包含当前选中的文本内容,我们需要在事件处理器设置 `EditorGUIUtility.systemCopyBufferIndex` 属性为 0,这样剪贴板才会包含当前选中的文本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值