예제 #1
0
 static private IEnumerator ForEachImpl <T>(T[] inElements, Routine.ElementOperation <T> inOperation)
 {
     for (int i = 0; i < inElements.Length; ++i)
     {
         inOperation(inElements[i]);
         yield return(null);
     }
 }
예제 #2
0
 static private IEnumerator ForEachImpl <T>(IEnumerable <T> inElements, Routine.ElementOperation <T> inOperation)
 {
     foreach (var element in inElements)
     {
         inOperation(element);
         yield return(null);
     }
 }
예제 #3
0
        /// <summary>
        /// Executes an operation on each element in an array.
        /// </summary>
        static public AsyncHandle ForEach <T>(T[] inElements, Routine.ElementOperation <T> inOperation, AsyncFlags inFlags = AsyncFlags.Default)
        {
            if (inElements == null || inElements.Length == 0 || inOperation == null)
            {
                return(AsyncHandle.Null);
            }

            return(Schedule(ForEachImpl <T>(inElements, inOperation), inFlags));
        }