Объявление
public static void DisplayProgressBar(string title, string info, float progress);Описание
Отображает или обновляет индикатор выполнения.
Заголовок окна будет установлен на title
, а информация будет установлена на info
. Для прогресса должно быть установлено значение от 0,0 до 1,0, где 0 означает, что ничего не сделано, а 1,0 означает, что выполнение выполнено на 100 %.
Это полезно, когда вы выполняете длительную операцию блокировки в сценарии редактора и хотите уведомить пользователя о ходе выполнения. Используйте этот метод для длительных операций, из-за которых редактор не отвечает. Для длительных операций, выполняемых в фоновом режиме, используйте класс Progress.
После отображения индикатора выполнения очистите его с помощью ClearProgressBar.
Смотрите также: методы DisplayCancelableProgressBar, ClearProgressBar, Progress класс.

using System.Threading;
using UnityEditor;
using UnityEngine;
// Показывает индикатор выполнения в течение указанного количества секунд.
public class EditorUtilityDisplayProgressBar : EditorWindow
{
public float secs = 5f;
[MenuItem("Examples/Progress Bar Usage")]
static void Init()
{
var window = GetWindow(typeof(EditorUtilityDisplayProgressBar));
window.Show();
}
void OnGUI()
{
secs = EditorGUILayout.Slider("Time to wait:", secs, 1.0f, 20.0f);
if (GUILayout.Button("Display bar"))
{
var step = 0.1f;
for (float t = 0; t < secs; t += step)
{
EditorUtility.DisplayProgressBar("Simple Progress Bar", "Doing some work...", t / secs);
// Normally, some computation happens here.
// This example uses Sleep.
Thread.Sleep((int)(step * 1000.0f));
}
EditorUtility.ClearProgressBar();
}
}
}