EditorUtility.DisplayCancelableProgressBar 显示可取消进度条

static function DisplayCancelableProgressBar (title : string, info : string, progress : float) : bool

Description描述

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.

窗口标题设置为title和信息设置为info。progress进度值在0.0-1.0之间。为0意味着什么也没做和为1.0意思是100%完成。

This is useful if you perform any lengthy operations in your editor scripts or wizards, and want to notify the user about the progress.

这对执行长时间的操作或向导是很有用的,通知用户有关的进度。

Return argument of this function tells if user had pressed the cancel button. It is then your responsibility to stop the task you were doing.

这个函数的返回参数告诉是否用户按取消按钮。你可以停止进度。

参见:DisplayProgressBar, ClearProgressBar functions.

EditorUtility.DisplayCancelableProgressBar 显示可取消进度条

Cancelable progress bar in the editor.
编辑器中的可取消进度条。

// 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();
	}
}
Page last updated: 2011-7-16