Unity 6.3
0 онлайн 21 гостей 3 в системе
Вход

EditorUtility.DisplayProgressBar

Declaration

public static void DisplayProgressBar(string title, string info, float progress);

Описание

Отображает или обновляет строку прогресса.

Заголовок окна будет установлен на title и информация будет установлена на info. Прогресс должен быть установлен на значение между 0.0 и 1.0, где 0 означает ничего не сделано и 1.0 означает 100% завершено.

Это полезно, когда вы выполняете длительную операцию блокировки в сценарии Редактора и хотите уведомить пользователя о ходе работы. Используйте этот метод для длительных операций, которые делают редактор неответчивым. Для длительных операций, которые происходят в фоновом режиме, используйте Progress class instead.

После того, как вы отобразите строку прогресса, очистите ее с помощью ClearProgressBar.

Дополнительные ресурсы: DisplayCancelableProgressBar, ClearProgressBar методы, Progress class.


Сигнал прогресса в редакторе.

using System.Threading;
using UnityEditor;
using UnityEngine;

// Shows a progress bar for the specified number of seconds. 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(); } } }