はじめに
エディタ拡張でコルーチンを使用できるパッケージが
Package Manager からインストールできるようになっていました
2018/12/14 現在はプレビュー版となっております
インストール方法
Unity メニューの「Window>Package Manager」から
「Editor Coroutines」をインストールすることで使用できるようになります
使い方
// コルーチンを開始する // 第 2 引数にコルーチンを開始したオブジェクトを指定する必要がある EditorCoroutineUtility.StartCoroutine( Test(), this ); // コルーチンを開始する // コルーチンを開始したオブジェクトを指定しなくても使用できる EditorCoroutineUtility.StartCoroutineOwnerless( Test() ); // コルーチンを停止する var c = EditorCoroutineUtility.StartCoroutine( Test(), this ); EditorCoroutineUtility.StopCoroutine( c );
EditorCoroutineUtility クラスに定義されている関数を呼び出すことで使用できます
使用例
using System.Collections; using Unity.EditorCoroutines.Editor; using UnityEditor; using UnityEngine; public class Example : EditorWindow { private EditorCoroutine m_coroutine; [MenuItem( "Tools/Hoge" )] private static void Init() { GetWindow<Example>(); } private void OnGUI() { if ( GUILayout.Button( "開始(オーナー指定あり)" ) ) { m_coroutine = EditorCoroutineUtility.StartCoroutine( Test(), this ); } if ( GUILayout.Button( "開始(オーナー指定なし)" ) ) { m_coroutine = EditorCoroutineUtility.StartCoroutineOwnerless( Test() ); } if ( GUILayout.Button( "停止" ) ) { EditorCoroutineUtility.StopCoroutine( m_coroutine ); } } private IEnumerator Test() { while ( true ) { Debug.Log( "ピカチュウ" ); yield return null; } } }