Unity编辑器弹出选择目录功能,但是默认打开选择只能定位到顶层目录,有没有方法定位到制定目录下
问题相关代码,请勿粘贴截图
/// <summary>
/// 选择文件夹
/// </summary>
/// <param name="callBack"></param>
/// <param name="title"></param>
public static void SelectFolder(Action<string> callBack, string title = "请选择文件夹")
{
try
{
OpenDialogDir ofn2 = new OpenDialogDir();
ofn2.pszDisplayName = new string(new char[2048]);
ofn2.lpszTitle = title; // 标题
ofn2.ulFlags = 0x00000040; // 新的样式,带编辑框
IntPtr pidlPtr = SHBrowseForFolder(ofn2);
char[] charArray = new char[2048];
for (int i = 0; i < 2048; i++)
{
charArray[i] = '\0';
}
SHGetPathFromIDList(pidlPtr, charArray);
string res = new string(charArray);
res = res.Substring(0, res.IndexOf('\0'));
if (Directory.Exists(res))
{
callBack?.Invoke(res);
}
}
catch (Exception)
{
}
}
}
如图所示

弹出选择界面到指定文件夹下,方便使用,不然每次从顶层目录查找不方便