/// <summary> /// Shoud write the number of messages, types and enums /// Messages, types and enums should be handled with proper directory & file writing /// </summary> /// <param name="args">read line</param> internal static void Main(string[] args) { ProcessArgs(args, out D2JsonProvider d2JsonProvider); var typesBuilder = new ProtocolClassBuilder(d2JsonProvider.Types .Select(m => new TypeClassWriter(m, d2JsonProvider))); var messagesBuilder = new ProtocolClassBuilder(d2JsonProvider.Messages .Select(m => new MessageClassWriter(m, d2JsonProvider))); var enumsBuilder = new EnumClassBuilder(d2JsonProvider.Enums .Select(m => new EnumClassWriter(m, d2JsonProvider))); var messageBuildTime = Timing.BenchMethod(() => { messagesBuilder.CreateRepositories(); messagesBuilder.CreateFiles(); messagesBuilder.WriteFiles(); }); var typesBuildTime = Timing.BenchMethod(() => { typesBuilder.CreateRepositories(); typesBuilder.CreateFiles(); typesBuilder.WriteFiles(); }); var enumsBuildTime = Timing.BenchMethod(() => { enumsBuilder.CreateRepositories(); enumsBuilder.CreateFiles(); enumsBuilder.WriteFiles(); }); WriteLine($"> Types generated in {typesBuildTime}ms"); WriteLine($"> Messages generated in {messageBuildTime}ms"); WriteLine($"> Enums generated in {enumsBuildTime}ms"); WriteLine("> Press any key to exit..."); ReadKey(); }