在给美术写工具的时候,为了更加人性化就决定加个进度条
EditorUtility.DisplayCancelableProgressBar
就用了上面这个原生控件,具体参数 手册里都有,而且自带cancel按钮,点击后可以直接中断
如果是这么写的话
if (EditorUtility.DisplayCancelableProgressBar("若干参数"))
{ return ;
}
就是cancel后就直接停掉了,
但是问题就来了 ,会存在进度条卡在100%不动的情况,最离谱的是这个控件在前端卡住就算了,代码后面的逻辑竟然还能正常跑
这么一看也还行,但是存在一个问题就是这种卡住的情况下,不能关掉了,只能强关unity,很麻烦。
网上搜了一圈,没有解决办法,卡住原因是因为数据量过大的情况下,unity的这个EditorUtility.DisplayCancelableProgressBar控件会在快速的update下直接死掉。。。。
所以最后的解决办法就是 在即将100%之前 判断下直接跳出循环就好了。。。