この記事でのバージョン
Unity 5.4.0f3
はじめに
今回はエディタ拡張でなんらかの処理を行っている時に、進捗状況を表示する方法のご紹介です!
イメージとしては以下のような感じです。
EditorUtility.DisplayProgressBar
エディタ拡張で進捗状況を表示したい時はEditorUtility.DisplayProgressBarを使うと楽が出来ます。
使い方は以下のようにDisplayProgressBarを呼ぶだけです。
float progress = 0;//進捗状況 0~1 EditorUtility.DisplayProgressBar ("タイトル", "情報", progress);//プログレスバー表示
なお、処理が完了した後、EditorUtility.ClearProgressBarを実行し、
プログレスバーを削除しないと、永遠と表示され続けるので注意が必要です。
//プログレスバー削除
EditorUtility.ClearProgressBar ();
ちなみに最初の例であったコードは以下の通りです。
int loopCount = 100; for (int i = 0; i < loopCount; i++) { float progress = (float)i / loopCount; EditorUtility.DisplayProgressBar ( "ループ中", i.ToString() + "回目(" + (progress * 100).ToString("F2") + "%)", progress ); } EditorUtility.ClearProgressBar ();