Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

EditorUtility.DisplayCancelableProgressBar

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function DisplayCancelableProgressBar(title: string, info: string, progress: float): bool;
public static bool DisplayCancelableProgressBar(string title, string info, float progress);

パラメーター

説明

キャンセルボタンのあるプログレスバーを表示します

ウィンドウのタイトルは info、左下に表示される情報は info に設定します。 進捗は 0~1 を設定することができ、0 は何も行われていないことを意味しており、1 は 100%で完了している意味を指します。

エディタースクリプトやウィザードで処理の長い操作を行う時や ユーザーに進捗状況を知らせるときに使用すると便利です。

ユーザーがキャンセルボタンを押すと、戻り値が取得できるようになります。 実際に実行しているタスクを停止するのはあなたの責任で停止させるようにしてください。

関連項目: DisplayProgressBarClearProgressBar 関数


キャンセル可能なプログレスバー


        
using UnityEngine;
using UnityEditor;

public class CancelableProgressBarExample : EditorWindow { static int secs = 0; static double startVal = 0; static double progress = 0;

[MenuItem( "Example/Cancelable Progress Bar" )] static void Init( ) { // Get existing open window or if none, make a new one: CancelableProgressBarExample window = (CancelableProgressBarExample)EditorWindow.GetWindow( typeof(CancelableProgressBarExample) ); window.Show( ); }

void OnGUI( ) { if( secs > 0 ) { if( GUILayout.Button( "Display bar" ) ) startVal = EditorApplication.timeSinceStartup;

progress = EditorApplication.timeSinceStartup - startVal;

if( progress < secs ) { if( EditorUtility.DisplayCancelableProgressBar( "Simple Progress Bar", "Shows a progress bar for the given seconds", (float)(progress / secs) ) ) { Debug.Log( "Progress bar canceled by the user" ); startVal = 0; } } else EditorUtility.ClearProgressBar( ); } else secs = EditorGUILayout.IntField( "Time to wait:", secs ); } void OnInspectorUpdate( ) { Repaint( ); } }