static void ExecuteRoutines(FasterListThreadSafe <IProcessSveltoTasks> list, PlatformProfiler profiler) { var routines = list.ToArrayFast(out var count); for (int i = 0; i < count; i++) { var ret = routines[i].MoveNext(false, profiler); if (ret == false) { list.UnorderedRemoveAt(i); count--; i--; } } }
static void ExecuteRoutines(FasterListThreadSafe <FasterList <IProcessSveltoTasks> > list, PlatformProfiler profiler) { var orderedRoutines = list.ToArrayFast(out var orderedCount); for (int ii = 0; ii < orderedCount; ii++) { if (orderedRoutines[ii] == null) { continue; } var routines = orderedRoutines[ii].ToArrayFast(out var count); for (int i = 0; i < count; i++) { var ret = routines[i].MoveNext(false, profiler); if (ret == false) { orderedRoutines[ii].UnorderedRemoveAt(i); count--; i--; } } } }