31 lines
No EOL
912 B
C#
31 lines
No EOL
912 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using DjRedo.Views;
|
|
|
|
namespace DjRedo.Core
|
|
{
|
|
public class RunnableStepTaskCollection : ReadOnlyCollectionBase, IReadOnlyCollection<StepTask>
|
|
{
|
|
public RunnableStepTaskCollection(IEnumerable<StepTask> stepTasks) : base()
|
|
{
|
|
base.InnerList.AddRange(stepTasks.ToArray());
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
public new IEnumerator<StepTask> GetEnumerator()
|
|
{
|
|
return base.InnerList.Cast<StepTask>().GetEnumerator();
|
|
}
|
|
|
|
public async Task RunTasks()
|
|
{
|
|
object[] taskParameters = new object[0];
|
|
for (int i = 0; i < base.InnerList.Count; i++)
|
|
{
|
|
taskParameters = await base.InnerList.Cast<StepTask>().ElementAt(i).RunTask(taskParameters);
|
|
}
|
|
}
|
|
}
|
|
} |