Example #1
0
        public async Task GamePlayBenchAsync()
        {
            var serviceContainer = new ServiceCollection();
            var startUp          = new Startup();

            startUp.RegisterServices(serviceContainer);
            var serviceProvider = serviceContainer.BuildServiceProvider();

            var botSettings = new BotSettings {
                Mode = "duncan"
            };

            var globeInitializer = serviceProvider.GetRequiredService <IGlobeInitializer>();
            var player           = serviceProvider.GetRequiredService <IPlayer>();

            var autoPlayEngine = new AutoplayEngine(
                startUp,
                botSettings,
                globeInitializer);

            var globe = await autoPlayEngine.CreateGlobeAsync().ConfigureAwait(false);

            var followedPerson = player.MainPerson;

            var autoplayContext = new FollowSinglePersonAutoplayContext(followedPerson);

            await autoPlayEngine.StartAsync(globe, autoplayContext).ConfigureAwait(false);
        }
        public async Task GetActorTasksTestAsync(string mode)
        {
            var serviceContainer = new ServiceCollection();
            var startUp          = new Startup();

            startUp.RegisterServices(serviceContainer);
            var serviceProvider = serviceContainer.BuildServiceProvider();

            var botSettings = new BotSettings {
                Mode = mode
            };

            var globeInitializer = serviceProvider.GetRequiredService <IGlobeInitializer>();
            var player           = serviceProvider.GetRequiredService <IPlayer>();

            var autoPlayEngine = new AutoplayEngine(
                startUp,
                botSettings,
                globeInitializer)
            {
                PlayerEventLogService = serviceProvider.GetService <IPlayerEventLogService>()
            };

            var globe = await autoPlayEngine.CreateGlobeAsync().ConfigureAwait(false);

            var followedPerson = player.MainPerson;

            PrintPersonBacklog(followedPerson);

            var autoPlayContext = new FollowSinglePersonAutoplayContext(followedPerson);

            await autoPlayEngine.StartAsync(globe, autoPlayContext).ConfigureAwait(false);

            PrintResult(serviceProvider);
        }
Example #3
0
        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();
            }
        }