static async Task Main(string[] args) { var scoreFilePreffix = ArgumentHelper.GetProgramArgument(args, SCORE_PREFFIX_ARG); var serviceCollection = new ServiceCollection(); _startUp = new Startup(); _startUp.RegisterServices(serviceCollection); var botSettings = new BotSettings { Mode = ArgumentHelper.GetProgramArgument(args, BOT_MODE_ARG) }; var autoPlayEngine = new AutoplayEngine(_startUp, botSettings, scoreFilePreffix); var serviceProvider = serviceCollection.BuildServiceProvider(); LoadBotAssembly("cdt", "Zilon.Bot.Players.NetCore.dll", serviceCollection, serviceProvider); serviceProvider = serviceCollection.BuildServiceProvider(); var startPerson = PersonCreateHelper.CreateStartPerson(serviceProvider); await autoPlayEngine.StartAsync(startPerson, serviceProvider); Console.WriteLine(autoPlayEngine.LogOutput); if (!ArgumentHelper.HasProgramArgument(args, SERVER_RUN_ARG)) { Console.ReadLine(); } }
private static async Task Main(string[] args) { var scoreFilePreffix = ArgumentHelper.GetProgramArgument(args, SCORE_PREFFIX_ARG); var serviceCollection = new ServiceCollection(); _startUp = new Startup(); _startUp.RegisterServices(serviceCollection); var botSettings = new BotSettings { Mode = ArgumentHelper.GetProgramArgument(args, BOT_MODE_ARG) }; var serviceProvider = serviceCollection.BuildServiceProvider(); LoadBotAssembly("cdt", "Zilon.Bot.Players.NetCore.dll", serviceCollection, serviceProvider); var serviceProviderWithDynamicBotServices = serviceCollection.BuildServiceProvider(); var globeInitializer = serviceProviderWithDynamicBotServices.GetRequiredService <IGlobeInitializer>(); var autoPlayEngine = new AutoplayEngine(_startUp, botSettings, scoreFilePreffix, globeInitializer); var player = serviceProvider.GetRequiredService <IPlayer>(); var startPerson = player.MainPerson; var globe = await autoPlayEngine.CreateGlobeAsync(); var autoplayContext = new FollowSinglePersonAutoplayContext(startPerson); await autoPlayEngine.StartAsync(globe, autoplayContext); Console.WriteLine(autoPlayEngine.LogOutput); if (!ArgumentHelper.HasProgramArgument(args, SERVER_RUN_ARG)) { Console.ReadLine(); } }