Esempio n. 1
0
        public void Start()
        {
            using (var store = new Store(_configuration))
            {
                var handlers = new RequestHandlers(_configuration, store);

                var engine = new TaskEngine(
                    new SocketListener(ZMQ.SocketType.REP, _configuration.Port, handlers.MapHandlers),
                    new SocketListener(ZMQ.SocketType.PULL, _configuration.PullPort, handlers.MapHandlers),
                    new Flusher(_configuration, store));

                using (var token = new CancellationTokenSource())
                    using (engine)
                    {
                        var task1 = engine.Start(token.Token, Timeout.Infinite);

                        if (task1.Wait(Timeout.Infinite))
                        {
                            Console.WriteLine("Done without forced cancelation"); // This line shouldn't be reached
                        }
                        else
                        {
                            Console.WriteLine("\r\nRequesting to cancel...");
                        }

                        token.Cancel();
                    }
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Mutex mutex = new Mutex(true, "DeviceExtractionService", out Boolean createdNew);

            if (createdNew)
            {
                LanguageManager.SwitchAll(LanguageType.Cn);
                PluginAdapter.Instance.Initialization(null);
                EngineSetup setup  = new EngineSetup("isolatedTask", null);
                TaskEngine  engine = new TaskEngine(setup);
                engine.Start();
                Console.WriteLine("Task engin is running...:{0}", engine.IsRuning);
                Console.Read();
                mutex.ReleaseMutex();
            }
        }
Esempio n. 3
0
        public void Start(Role role, Account account)
        {
            Function func = new Function();

            func.Name = "任务";

            TaskContext context = new TaskContext(role, func);
            TaskEngine  engine  = role.TaskEngine;

            List <TaskBase> tasks = new List <TaskBase>();

            role.Player = role.GameHelper.GetPlayer();
            if (role.IsAutoLogin)
            {
                engine.AutoLogin = () => AutoLogin(role, account);
            }
            else
            {
                engine.AutoLogin = null;
            }
            if (role.IsChangeRole)
            {
                engine.ChangeRole = () => role.ChangeRole();
            }
            else
            {
                engine.ChangeRole = null;
            }
            if (role.SelectedItemTask.Content.ToString() == "日常任务")
            {
                TaskContext tc = new TaskContext(role, new Function()
                {
                    Name = "日常任务"
                });

                tasks.Add(new RichangTask(tc));
            }
            if (role.SelectedItemTask.Content.ToString() == "活动任务")
            {
                tasks.Add(new HuodongTask(new TaskContext(role, new Function()
                {
                    Name = "活动任务"
                })));
            }
            if (role.SelectedItemTask.Content.ToString() == "自动兵器")
            {
                context.Settings.StepName = "自动兵器";
                tasks.Add(new SmallTool(context));
            }
            if (role.SelectedItemTask.Content.ToString() == "自动洗练")
            {
                context.Settings.StepName = "自动洗练";
                tasks.Add(new SmallTool(context));
            }

            if (role.SelectedItemTask.Content.ToString() == "自动建筑")
            {
                context.Settings.StepName = "自动建筑";
                tasks.Add(new SmallTool(context));
            }
            if (role.SelectedItemTask.Content.ToString() == "自动主线")
            {
                tasks.Add(new AutoLevel(context));
            }

            if (role.SelectedItemTask.Content.ToString() == "刷新装备")
            {
                context.Settings.StepName = "刷新装备";
                tasks.Add(new SmallTool(context));
            }
            if (role.SelectedItemTask.Content.ToString() == "购买装备")
            {
                context.Settings.StepName = "购买装备";
                tasks.Add(new SmallTool(context));
            }
            if (role.SelectedItemTask.Content.ToString() == "自动副本")
            {
                context.Settings.StepName = "自动副本";
                tasks.Add(new SmallTool(context));
            }
            try
            {
                engine.Start(tasks.ToArray());
            }
            catch (Exception ex)
            {
                role.OutMessage(ex.Message);
            }
        }