summary refs log tree commit diff
path: root/ReferenceClientProxyImplementation/Tasks/Tasks.cs
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-02-23 02:03:20 +0100
committerRory& <root@rory.gay>2026-02-23 02:03:20 +0100
commit77a609758bb80bac9497d2e3988550f8be578407 (patch)
tree991a9d258ca4fece1132a1a344d0fe11e3b03d51 /ReferenceClientProxyImplementation/Tasks/Tasks.cs
downloadReferenceClientProxyImplementation-77a609758bb80bac9497d2e3988550f8be578407.tar.xz
Initial commit HEAD master
Diffstat (limited to 'ReferenceClientProxyImplementation/Tasks/Tasks.cs')
-rw-r--r--ReferenceClientProxyImplementation/Tasks/Tasks.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/ReferenceClientProxyImplementation/Tasks/Tasks.cs b/ReferenceClientProxyImplementation/Tasks/Tasks.cs
new file mode 100644

index 0000000..5038002 --- /dev/null +++ b/ReferenceClientProxyImplementation/Tasks/Tasks.cs
@@ -0,0 +1,28 @@ +namespace ReferenceClientProxyImplementation.Tasks; + +public class Tasks(IServiceProvider serviceProvider) : BackgroundService { + protected override async Task ExecuteAsync(CancellationToken stoppingToken) { + var defaultColor = Console.ForegroundColor; + var tasks = serviceProvider.GetServices<ITask>().ToList(); + // List<ITask> tasks = new() + // { + // new BuildClientTask(), + // new PatchClientAssetsTask() + // }; + var i = 0; + foreach (var task in tasks.OrderBy(x => x.GetOrder())) { + Console.ForegroundColor = ConsoleColor.DarkBlue; + Console.Write("==> "); + Console.ForegroundColor = ConsoleColor.DarkGray; + Console.WriteLine($"Running task {++i}/{tasks.Count}: {task.GetName()} (Type<{task.GetType().Name}>)"); + Console.ForegroundColor = defaultColor; + task.Execute(); + } + } +} + +public interface ITask { + public int GetOrder(); + public string GetName(); + public Task Execute(); +} \ No newline at end of file