예제 #1
0
    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();
        }
    }
예제 #2
0
 /// <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));
 }