private void OnGUI() { GUILayout.Label("コルーチン実行状況 " + _count); if (GUILayout.Button("コルーチン実行")) { EndCoroutine(); _loop_coroutine = Co.Begin(Loop()); // or // _loop_coroutine = Loop().Begin(); } if (_loop_coroutine != null) { if (GUILayout.Button("コルーチン一時停止")) { Co.Pause(_loop_coroutine, true); // or // _loop_coroutine.Pause(true); } if (GUILayout.Button("コルーチン再開")) { Co.Pause(_loop_coroutine, false); // or // _loop_coroutine.Pause(false); } if (GUILayout.Button("コルーチン停止")) { EndCoroutine(); } } if (GUILayout.Button("Tween実行")) { _tweens.Play().Begin(); } }
/// <summary> /// コルーチン一時停止 /// </summary> /// <param name="coroutine">実行するコルーチン</param> /// <param name="is_pause">true:一時停止. false:再開</param> /// <param name="type">更新タイプ</param> /// <returns>成否</returns> public static bool Pause(this IEnumerator routine, bool is_pause, CoroutineDispatcher.eUpdateType type = CoroutineDispatcher.eUpdateType.Update) { return(Co.Pause(routine, is_pause, type)); }