Displays or updates a progress bar that has a cancel button.
The window title will be set to title
and the info will be set to info
.
Progress should be set to a value between 0.0 and 1.0, where 0 means nothing done and 1.0 means 100% completed.
// Simple Editor Script that fills a cancelable bar in the given seconds. class DisplayCancelableProgressBar extends EditorWindow { var secs = 10.0; var startVal = 0; var progress = 0; @MenuItem("Examples/Cancelable Progress Bar Usage") static function Init() { var window = GetWindow(DisplayCancelableProgressBar); window.Show(); } function OnGUI() { secs = EditorGUILayout.IntField("Time to wait:", secs); if(GUILayout.Button("Display bar")) { if(secs < 1) { Debug.LogError("Seconds should be bigger than 1"); return; } startVal = EditorApplication.timeSinceStartup; } if(progress < secs) { if(EditorUtility.DisplayCancelableProgressBar( "Simple Progress Bar", "Shows a progress bar for the given seconds", progress/secs)) { Debug.Log("Progress bar canceled by the user"); startVal = 0; } } else { EditorUtility.ClearProgressBar(); } progress = EditorApplication.timeSinceStartup - startVal; } function OnInspectorUpdate() { Repaint(); } }