删除进度条。
将删除之前使用 EditorUtility.DisplayProgressBar 显示的所有进度条。
另请参阅:DisplayProgressBar、DisplayCancelableProgressBar 函数。
using UnityEngine;
using UnityEditor;
public class CancelableProgressBarExample : EditorWindow
{
static int secs = 0;
static double startVal = 0;
static double progress = 0;
[MenuItem("Example/Cancelable Progress Bar")]
static void Init()
{
// Get existing open window or if none, make a new one:
CancelableProgressBarExample window = (CancelableProgressBarExample)EditorWindow.GetWindow(typeof(CancelableProgressBarExample));
window.Show();
}
void OnGUI()
{
if (secs > 0)
{
if (GUILayout.Button("Display bar"))
startVal = EditorApplication.timeSinceStartup;
progress = EditorApplication.timeSinceStartup - startVal;
if (progress < secs)
{
if (EditorUtility.DisplayCancelableProgressBar(
"Simple Progress Bar",
"Shows a progress bar for the given seconds",
(float)(progress / secs)))
{
Debug.Log("Progress bar canceled by the user");
startVal = 0;
}
}
else
EditorUtility.ClearProgressBar();
}
else
secs = EditorGUILayout.IntField("Time to wait:", secs);
}
void OnInspectorUpdate()
{
Repaint();
}
}