Version: 2017.2

EditorUtility.ClearProgressBar

切换到手册
public static void ClearProgressBar ();

描述

删除进度条。

将删除之前使用 EditorUtility.DisplayProgressBar 显示的所有进度条。

另请参阅:DisplayProgressBarDisplayCancelableProgressBar 函数。

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(); } }