Displays or updates a progress bar.
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.
This is useful if you perform any lengthy operations in your editor scripts or wizards,
and want to notify the user about the progress.
See Also: DisplayCancelableProgressBar, ClearProgressBar functions.
Progress bar in the editor.
using UnityEngine; using UnityEditor;
public class DisplayProgressBarExample : EditorWindow { static int secs = 0; static double startVal = 0; static double progress = 0;
[MenuItem( "Example/Simple Progress Bar" )] static void Init( ) { // Get existing open window or if none, make a new one: DisplayProgressBarExample window = (DisplayProgressBarExample)EditorWindow.GetWindow( typeof(DisplayProgressBarExample ) ); window.Show( ); }
void OnGUI( ) { if( secs > 0 ) { if( GUILayout.Button( "Display bar" ) ) startVal = EditorApplication.timeSinceStartup;
progress = EditorApplication.timeSinceStartup - startVal;
if( progress < secs ) EditorUtility.DisplayProgressBar( "Simple Progress Bar", "Shows a progress bar for the given seconds", (float)(progress / secs) ); else EditorUtility.ClearProgressBar( ); } else secs = EditorGUILayout.IntField( "Time to wait:", secs ); } void OnInspectorUpdate( ) { Repaint( ); } }