namespace Processor.Generators; public static class Generator { private static readonly Dictionary GENERATORS = new(); private static readonly IGenerator VOID_GENERATOR = new VoidGenerator(); public static IGenerator Get(Type genType) => genType switch { Type.DOTNET => GENERATORS.ContainsKey(genType) ? GENERATORS[genType] : GENERATORS[genType] = new DotnetBigFile(), _ => VOID_GENERATOR, }; public static async Task TriggerAllAsync() { var dotnetEnabled = await AppSettings.GetGeneratorDotnetEnabled(); var godotEnabled = await AppSettings.GetGeneratorGodotEnabled(); if (dotnetEnabled) await Generator.Get(Type.DOTNET).GenerateAsync(); if(godotEnabled) await Generator.Get(Type.GODOT).GenerateAsync(); } }