public static IDisposableItem AsDisposable(this RoutineHandle handler)
        {
            var disposable = ClassPool.Spawn <DisposableAction>();

            disposable.Initialize(() => UniRoutineManager.TryToStopRoutine(handler));
            return(disposable);
        }
 public static RoutineHandle Execute(
     this IEnumerator enumerator,
     RoutineType routineType  = RoutineType.Update,
     bool moveNextImmediately = false,
     RoutineScope scope       = RoutineScope.Global)
 {
     return(UniRoutineManager.RunUniRoutine(enumerator, routineType, scope, moveNextImmediately));
 }
        public static RoutineHandle WithFinally(this RoutineHandle handle, Action action)
        {
            if (action == null)
            {
                return(handle);
            }

            UniRoutineManager.AddFinally(handle, action);
            return(handle);
        }
 public static bool IsActive(this RoutineHandle handler)
 {
     return(UniRoutineManager.IsRoutineActive(handler));
 }
 public static bool Cancel(this RoutineHandle handler)
 {
     return(UniRoutineManager.TryToStopRoutine(handler));
 }