/// <summary>
        /// 过滤检测
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override bool InternalFilter(WlyEntity entity)
        {
            var todayDayOfWeek = DateTime.Today.DayOfWeek;
            var timeCheck      = (todayDayOfWeek == DayOfWeek.Saturday) || (todayDayOfWeek == DayOfWeek.Sunday);

            return(entity.AccountInfo.GetSwitchInfo(WlySwitchType.群雄逐鹿).Enable&& timeCheck);
        }
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            // 跳转到主界面
            WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_主城);

            // 点击购买
            DMService.Instance.LeftClick(dmGuid, new WxPoint(179, 111));

            // 识别花费
            var payStr = string.Empty;
            var wait   = FlowLogicHelper.RepeatRun(() =>
            {
                payStr = DMService.Instance.GetWords(dmGuid, new WxRect(528, 249, 579, 284), "ff6600-101010");
                if (DMService.Instance.FindStr(dmGuid, new WxRect(485, 317, 518, 342), "确定", WlyColor.Normal))
                {
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(495, 330));
                    return(true);
                }

                return(payStr.Contains("金币"));
            }, TimeSpan.FromSeconds(30));

            if (!wait)
            {
                throw new InvalidOperationException("无法识别购买花费");
            }

            // 点击购买或取消
            DMService.Instance.LeftClick(dmGuid, payStr == "0金币" ? new WxPoint(454, 355) : new WxPoint(548, 352));
            return(new WlyTaskInfo(ID, true));
        }
示例#3
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_主线任务);

            var wait = FlowLogicHelper.RepeatRun(() =>
            {
                if (DMService.Instance.FindStr(dmGuid, new WxRect(550, 418, 634, 446), "领取|接受",
                                               $"{WlyColor.Normal}|{WlyColor.White}"))
                {
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(592, 436));
                }

                if (DMService.Instance.FindStr(dmGuid, new WxRect(550, 418, 634, 446), "取消",
                                               $"{WlyColor.Normal}|{WlyColor.White}"))
                {
                    return(true);
                }

                return(false);
            }, TimeSpan.FromSeconds(120));

            if (!wait)
            {
                return(new WlyTaskInfo(ID, WlyUtilityBiz.GetRefreshTime()));
            }

            return(new WlyTaskInfo(ID, true));
        }
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_主公信息);
            DMService.Instance.LeftClick(dmGuid, new WxPoint(355, 214), TimeSpan.FromSeconds(2));
            DMService.Instance.LeftClick(dmGuid, new WxPoint(506, 157), TimeSpan.FromSeconds(2));
            DMService.Instance.LeftClick(dmGuid, new WxPoint(793, 391), TimeSpan.FromSeconds(2));
            DMService.Instance.LeftClick(dmGuid, new WxPoint(457, 353), TimeSpan.FromSeconds(2));
            DMService.Instance.LeftClick(dmGuid, new WxPoint(863, 118), TimeSpan.FromSeconds(2));

            WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_仓库);
            DMService.Instance.LeftClick(dmGuid, new WxPoint(220, 230));
            if (DMService.Instance.FindStr(dmGuid, new WxRect(475, 403, 529, 433), "使用", WlyColor.Normal))
            {
                DMService.Instance.LeftClick(dmGuid, new WxPoint(500, 417));
                return(new WlyTaskInfo(ID, true));
            }

            DMService.Instance.LeftClick(dmGuid, new WxPoint(278, 231));
            if (DMService.Instance.FindStr(dmGuid, new WxRect(475, 403, 529, 433), "使用", WlyColor.Normal))
            {
                DMService.Instance.LeftClick(dmGuid, new WxPoint(500, 417));
                return(new WlyTaskInfo(ID, true));
            }

            WlyEntityBiz.ClearEquipments(entity);
            if (entity.AccountInfo.GetStaffInfo(WlyStaffType.文凤卿).GetEquipInfo(WlyEquipType.物理防御).Quality >= WlyQualityType.Purple)
            {
                return(new WlyTaskInfo(ID, true));
            }

            return(new WlyTaskInfo(ID));
        }
示例#5
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            // 首先跳转到擂台赛界面
            WlyViewMgr.GoTo(dmGuid, WlyViewType.日常_擂台赛);
            Thread.Sleep(5000);

            // 计算助威人数
            WlyUtilityBiz.GetAmount(dmGuid, new WxRect(330, 369, 365, 383), "ebe9cf-101010", out var count1);
            WlyUtilityBiz.GetAmount(dmGuid, new WxRect(340, 421, 364, 434), "ebe9cf-101010", out var count2);

            // 上面数字大就助威上面,下面大助威下面
            var target = count1 >= count2 ? new WxPoint(404, 371) : new WxPoint(405, 423);

            DMService.Instance.LeftClick(dmGuid, target);
            DMService.Instance.LeftClick(dmGuid, target);
            DMService.Instance.LeftClick(dmGuid, target);
            DMService.Instance.LeftClick(dmGuid, target);

            // 助威
            DMService.Instance.LeftClick(dmGuid, new WxPoint(515, 553));

            // 确定
            DMService.Instance.LeftClick(dmGuid, new WxPoint(453, 332));

            // 退出
            DMService.Instance.LeftClick(dmGuid, new WxPoint(911, 549));
            return(new WlyTaskInfo(ID, true));
        }
示例#6
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var info = entity.AccountInfo.GetStaffInfo(m_staff);

            info.TargetType = m_soldierType;
            return(new WlyTaskInfo(ID, true));
        }
示例#7
0
        /// <summary>
        /// 获取任务列表
        /// </summary>
        /// <param name="entity"></param>
        public void InitEntityTasks(WlyEntity entity)
        {
            var timebase = DateTime.Today > DateTime.Now.AddHours(-4) ? DateTime.Today.AddDays(-1) : DateTime.Today;

            foreach (var task in m_taskDict.Values)
            {
                if (task is WlyTimeTask tt)
                {
                    var time = timebase.Add(tt.StartTime);
                    entity.AddTask(task, time);
                }
                else if (task is WlyDailyTask)
                {
                    entity.AddTask(task, timebase.AddHours(4));
                }
                else
                {
                    entity.AddTask(task, DateTime.MinValue);
                }
            }

            var tasklist = m_taskDict.Values.Select(o => o.ID);

            entity.ClearTasks(tasklist);
        }
示例#8
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            //var dmGuid = entity.DMGuid;
            //WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_征收);

            //while (true)
            //{
            //    var wait = FlowLogicHelper.RepeatRun(() => DMService.Instance.FindStr(dmGuid, new WxRect(447, 246, 503, 270), "金币", "ffff00-000000"),
            //        TimeSpan.FromSeconds(20));
            //    if (!wait)
            //    {
            //        throw new InvalidOperationException("无法识别强征花费");
            //    }

            //    if (DMService.Instance.FindStr(dmGuid, new WxRect(447, 246, 503, 270), "2金币", "ffff00-000000"))
            //    {
            //        DMService.Instance.LeftClick(dmGuid, new WxPoint(685, 231), TimeSpan.FromSeconds(1));
            //    }
            //    else
            //    {
            //        break;
            //    }
            //}

            return(new WlyTaskInfo(ID, true));
        }
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            // 首先跳转到擂台赛界面
            WlyViewMgr.GoTo(dmGuid, WlyViewType.日常_擂台赛);

            // 找一个位置
            var wait = FlowLogicHelper.RepeatRun(() =>
            {
                if (DMService.Instance.FindStr(dmGuid, new WxRect(329, 112, 953, 496), "擂", "feff99-000000", out var x, out var y))
                {
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(x, y));
                    return(true);
                }

                Thread.Sleep(1000);
                return(false);
            }, TimeSpan.FromSeconds(10));

            if (!wait)
            {
                throw new InvalidOperationException();
            }

            // 点击报名
            var signupPoint = new WxPoint(393, 551);

            DMService.Instance.LeftClick(dmGuid, signupPoint);

            return(new WlyTaskInfo(ID, true));
        }
示例#10
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_主城);
            WlyUtilityBiz.GetPercent(dmGuid, new WxRect(137, 47, 238, 68), "e9e7cf-000000", out var persent);
            if (persent > 0.8)
            {
                return(new WlyTaskInfo(ID, true));

                WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_卖粮);
                DMService.Instance.LeftClick(dmGuid, new WxPoint(760, 343));
                DMService.Instance.LeftClick(dmGuid, new WxPoint(762, 377));
            }

            WlyViewMgr.GoTo(dmGuid, WlyViewType.建筑_农田);

            FlowLogicHelper.RepeatRun(() =>
            {
                if (DMService.Instance.FindColor(dmGuid, "aaaaaa-000000", new WxRect(341, 402, 367, 413)))
                {
                    return(true);
                }

                FlowLogicHelper.RepeatRun(() => DMService.Instance.LeftClick(dmGuid, new WxPoint(350, 407), TimeSpan.FromMilliseconds(100)), 5);
                return(false);
            }, TimeSpan.FromSeconds(10));

            return(new WlyTaskInfo(ID, true));
        }
示例#11
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyStaffMgr.Evolve(m_staff, dmGuid);
            return(new WlyTaskInfo(ID, true));
        }
示例#12
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var sub    = (SubEntity)entity;
            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_主界面);

            // 获取名称
            var name = DMService.Instance.GetWords(dmGuid, new WxRect(54, 0, 134, 24), "eae7d0-000000");

            if (!name.Contains("海潮"))
            {
                WxLog.Error($"任务_名称检测.InternalRun Invalid Name <{name}> Account <{entity.Account}> Psw <{entity.Password}> UID<{entity.AccountInfo.UID}>");
                return(new WlyTaskInfo(ID)
                {
                    NextRunTime = DateTime.Now.AddDays(7)
                });
            }

            try
            {
                sub.Info.Name  = name;
                sub.Info.Index = int.Parse(name.Substring(2));
                entity.Stop();
                return(new WlyTaskInfo(ID, true));
            }
            catch (Exception ex)
            {
                WxLog.Error($"任务_名称检测.InternalRun Name<{name}> Error <{ex}>");
                return(new WlyTaskInfo(ID, DateTime.Now.AddDays(7)));
            }
        }
示例#13
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var sub   = entity as SubEntity;
            var index = sub.Index;

            if (((index > 100) && (index < 200)) || ((index > 300) && (index < 400)))
            {
                var dmGuid = entity.DMGuid;
                WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_军团);
                DMService.Instance.LeftClick(dmGuid, new WxPoint(770, 478), TimeSpan.FromSeconds(1));
                DMService.Instance.LeftClick(dmGuid, new WxPoint(452, 333), TimeSpan.FromSeconds(1));

                if (DMService.Instance.FindStr(dmGuid, new WxRect(481, 320, 516, 343), "确定", WlyColor.Normal))
                {
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(500, 330));
                    WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_主城);
                    return(new WlyTaskInfo(ID, true));
                }
            }
            else
            {
                return(new WlyTaskInfo(ID, true));
            }

            throw new InvalidOperationException();
        }
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            // 进入城池争夺战界面
            WlyViewMgr.GoTo(dmGuid, WlyViewType.日常_城池争夺战);

            // 等待所有UI加载完成
            Thread.Sleep(2000);

            if (!DMService.Instance.FindStr(dmGuid, new WxRect(625, 558, 690, 590), "一键挂机", "cccccc-000000"))
            {
                // 点击一键
                var oneClickPoint = new WxPoint(659, 574);
                DMService.Instance.LeftClick(dmGuid, oneClickPoint);

                // 点击确定
                var okPoint = new WxPoint(451, 330);
                DMService.Instance.LeftClick(dmGuid, okPoint);

                // 点击领取
                var getPoint = new WxPoint(544, 440);
                DMService.Instance.LeftClick(dmGuid, getPoint);

                // 点击退出
                var exitPoint = new WxPoint(949, 571);
                DMService.Instance.LeftClick(dmGuid, exitPoint);
            }

            return(new WlyTaskInfo(ID, true));
        }
示例#15
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_商城);

            // 购买所有可以使用粮食和银币购买的东西
            var itemRects = new List <WxRect>
            {
                new WxRect(262, 301, 332, 327),
                new WxRect(411, 304, 472, 325),
                new WxRect(551, 304, 619, 326),
                new WxRect(266, 418, 329, 439),
                new WxRect(408, 417, 474, 440),
                new WxRect(556, 417, 617, 442)
            };

            foreach (var rect in itemRects)
            {
                if (WlyUtilityBiz.GetAmount(dmGuid, rect, "ffffff-000000", out var _))
                {
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(rect.Left, rect.Top));
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(415, 470));

                    if (DMService.Instance.FindStr(dmGuid, new WxRect(434, 338, 473, 366), "确定", WlyColor.Normal))
                    {
                        DMService.Instance.LeftClick(dmGuid, new WxPoint(459, 311));
                        DMService.Instance.LeftClick(dmGuid, new WxPoint(457, 351));
                    }
                }
            }

            return(new WlyTaskInfo(ID, true));
        }
示例#16
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            if (!entity.AccountInfo.GetSwitchInfo(WlySwitchType.海鲜副本).Enable)
            {
                return(new WlyTaskInfo(ID, true));
            }

            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_海鲜副本);
            var view = WlyViewMgr.GetView(WlyViewType.导航_日常按钮栏);

            if (view.IsCurrentView(dmGuid))
            {
                view.Exit(dmGuid);
            }

            // 循环执行两分钟
            var startTime = DateTime.Now;

            while (DateTime.Now - startTime < TimeSpan.FromMinutes(2))
            {
                Attack(dmGuid, new WxPoint(803, 441));
            }

            return(new WlyTaskInfo(ID, true));
        }
示例#17
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var sub = (SubEntity)entity;

            if (sub.Info.Check)
            {
                return(new WlyTaskInfo(ID, true));
            }

            // 开始检测
            var dmGuid = sub.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_军团);
            var result = DMService.Instance.FindPic(dmGuid, WlyPicType.吴国军团, new WxRect(189, 287, 794, 443), out var x, out var y);

            if (result)
            {
                DMService.Instance.LeftClick(dmGuid, new WxPoint(x, y));
                if (DMService.Instance.FindStr(dmGuid, new WxRect(390, 182, 443, 211), "吴之团", "e9e7cf-000000"))
                {
                    sub.Info.Check = true;
                    return(new WlyTaskInfo(ID, true));
                }
            }

            throw new InvalidOperationException("认证失败");
        }
示例#18
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyFormationMgr.SetStaff(m_staff, m_formation, m_index, dmGuid);
            return(new WlyTaskInfo(ID, true));
        }
示例#19
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_属臣);
            DMService.Instance.LeftClick(dmGuid, new WxPoint(592, 469));
            return(new WlyTaskInfo(ID, true));
        }
示例#20
0
 /// <summary>
 /// 执行任务
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 protected override WlyTaskInfo InternalRun(WlyEntity entity)
 {
     entity.Restart();
     return(new WlyTaskInfo(ID)
     {
         NextRunTime = DateTime.Today.AddDays(1).AddHours(4).AddMinutes(1)
     });
 }
示例#21
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var endTime = new DateTime(2018, 7, 16, 4, 0, 0);

            if (DateTime.Now > endTime)
            {
                return(new WlyTaskInfo(ID, true));
            }

            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_厉兵秣马);

            // 领取两个大包厢
            DMService.Instance.LeftClick(dmGuid, new WxPoint(228, 227));
            DMService.Instance.LeftClick(dmGuid, new WxPoint(227, 328));

            // 循环领取七天的奖励
            var start = new WxPoint(375, 177);

            for (var i = 0; i < 7; i++)
            {
                DMService.Instance.LeftClick(dmGuid, start.Shift(70 * i, 0), TimeSpan.FromSeconds(1));
                FlowLogicHelper.RepeatRun(() =>
                {
                    var rect  = new WxRect(733, 290, 790, 312);
                    var point = new WxPoint(761, 299);

                    Thread.Sleep(1000);
                    if (DMService.Instance.FindStr(dmGuid, new WxRect(357, 300, 436, 320), "打猎", "fffdd4-000000"))
                    {
                        rect  = new WxRect(732, 378, 792, 400);
                        point = new WxPoint(759, 388);
                    }

                    if (DMService.Instance.FindStr(dmGuid, rect, "领取奖励", WlyColor.Normal, WlyColor.White))
                    {
                        DMService.Instance.LeftClick(dmGuid, point);
                        return(false);
                    }

                    if (DMService.Instance.FindStr(dmGuid, rect, "前往", WlyColor.Normal))
                    {
                        return(true);
                    }

                    if (DMService.Instance.FindStr(dmGuid, new WxRect(485, 317, 518, 342), "确定", WlyColor.Normal))
                    {
                        DMService.Instance.LeftClick(dmGuid, new WxPoint(495, 330));
                    }

                    return(false);
                }, TimeSpan.FromSeconds(10));
            }

            return(new WlyTaskInfo(ID, true));
        }
示例#22
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            // 进入古城探险界面
            WlyViewMgr.GoTo(dmGuid, WlyViewType.日常_古城探秘);
            Thread.Sleep(400);

            // 获取剩余次数
            var countRect = new WxRect(614, 424, 634, 442);

            if (WlyUtilityBiz.GetAmount(dmGuid, countRect, WlyColor.Normal, out var count) && (count == 0))
            {
                WlyViewMgr.ExitCurrentView(dmGuid, TimeSpan.FromSeconds(30));
                return(new WlyTaskInfo(ID, true));
            }

            // 开始一键探险
            DMService.Instance.LeftClick(dmGuid, new WxPoint(567, 392));
            var wait = SpinWait.SpinUntil(() =>
            {
                Thread.Sleep(1000);
                return(DMService.Instance.FindStr(dmGuid, new WxRect(549, 487, 587, 513), "扫荡", WlyColor.Normal));
            }, TimeSpan.FromSeconds(10));

            if (!wait)
            {
                return(new WlyTaskInfo(ID, DateTime.Now.AddMinutes(1)));
            }

            // 勾上选项
            DMService.Instance.LeftClick(dmGuid, new WxPoint(422, 214));
            DMService.Instance.LeftClick(dmGuid, new WxPoint(439, 237));
            DMService.Instance.LeftClick(dmGuid, new WxPoint(423, 420));
            //DMService.Instance.LeftClick(dmGuid, new WxPoint(421, 444));

            // 开始扫荡
            DMService.Instance.LeftClick(dmGuid, new WxPoint(557, 501));

            // 等待扫荡结束
            wait = SpinWait.SpinUntil(() =>
            {
                Thread.Sleep(1000);
                return(DMService.Instance.FindStr(dmGuid, new WxRect(447, 477, 515, 501), "已完成全部", "ff3300-000000"));
            }, TimeSpan.FromSeconds(60));
            if (!wait)
            {
                return(new WlyTaskInfo(ID, DateTime.Now.AddMinutes(1)));
            }

            // 完成古城探秘
            DMService.Instance.LeftClick(dmGuid, new WxPoint(763, 126));
            Thread.Sleep(400);
            WlyViewMgr.ExitCurrentView(dmGuid, TimeSpan.FromSeconds(30));
            return(new WlyTaskInfo(ID, DateTime.Now));
        }
示例#23
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_商城);

            DMService.Instance.LeftClick(dmGuid, new WxPoint(559, 468));
            var costStr = string.Empty;
            var wait    = FlowLogicHelper.RepeatRun(() =>
            {
                costStr = DMService.Instance.GetWords(dmGuid, new WxRect(473, 265, 518, 285), "ffff00-101010");
                return(costStr.Contains("金币"));
            }, TimeSpan.FromSeconds(5));

            if (!wait)
            {
                throw new InvalidOperationException("无法确认商城刷新的花费");
            }

            if (costStr == "10金币")
            {
                DMService.Instance.LeftClick(dmGuid, new WxPoint(460, 357), TimeSpan.FromSeconds(2));

                // 购买所有可以使用粮食和银币购买的东西
                var itemRects = new List <WxRect>
                {
                    new WxRect(262, 301, 332, 327),
                    new WxRect(411, 304, 472, 325),
                    new WxRect(551, 304, 619, 326),
                    new WxRect(266, 418, 329, 439),
                    new WxRect(408, 417, 474, 440),
                    new WxRect(556, 417, 617, 442)
                };

                foreach (var rect in itemRects)
                {
                    if (WlyUtilityBiz.GetAmount(dmGuid, rect, "ffffff-000000", out var _))
                    {
                        DMService.Instance.LeftClick(dmGuid, new WxPoint(rect.Left, rect.Top));
                        DMService.Instance.LeftClick(dmGuid, new WxPoint(415, 470));

                        if (DMService.Instance.FindStr(dmGuid, new WxRect(434, 338, 473, 366), "确定", WlyColor.Normal))
                        {
                            DMService.Instance.LeftClick(dmGuid, new WxPoint(459, 311));
                            DMService.Instance.LeftClick(dmGuid, new WxPoint(457, 351));
                        }
                    }
                }
            }
            else
            {
                DMService.Instance.LeftClick(dmGuid, new WxPoint(547, 353));
            }

            return(new WlyTaskInfo(ID, true));
        }
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_虎牢关战役);
            DMService.Instance.LeftClick(dmGuid, new WxPoint(496, 483), TimeSpan.FromSeconds(10));
            WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_虎牢关战役);
            DMService.Instance.LeftClick(dmGuid, new WxPoint(50, 230));
            return(new WlyTaskInfo(ID, true));
        }
示例#25
0
        /// <summary>
        /// 过滤检测
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override bool InternalFilter(WlyEntity entity)
        {
            var infoDict = entity.AccountInfo.TaskInfoDict;

            if (infoDict.ContainsKey(ID) && infoDict[ID].IsComplete)
            {
                return(false);
            }

            return(true);
        }
示例#26
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;
            var result = WlyUtilityBiz.GetPercent(dmGuid, new WxRect(137, 71, 236, 90), "e9e7cf-000000", out var percent);

            if (result && (percent < 1))
            {
                WlyUtilityBiz.GetSoldier(entity.DMGuid);
            }

            return(new WlyTaskInfo(ID, true));
        }
示例#27
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.功能_军团科技);

            DMService.Instance.LeftClick(dmGuid, new WxPoint(423, 474));
            DMService.Instance.LeftClick(dmGuid, new WxPoint(589, 285));
            DMService.Instance.LeftClick(dmGuid, new WxPoint(436, 364));

            return(new WlyTaskInfo(ID, true));
        }
示例#28
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            // 升级军团科技
            var dmGuid = entity.DMGuid;

            if (WlyGroupMgr.Upgrade(dmGuid))
            {
                return(new WlyTaskInfo(ID, true));
            }

            return(new WlyTaskInfo(ID, WlyUtilityBiz.GetRefreshTime()));
        }
示例#29
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            if (DMService.Instance.FindStr(dmGuid, new WxRect(511, 176, 548, 199), "物品", WlyColor.Normal))
            {
                var equip = WlyEquipMgr.GetEquipInfo(dmGuid);
                // 每次重铸执行100次
                for (var i = 0; i < 1000; i++)
                {
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(555, 428));
                    FlowLogicHelper.RepeatRun(() =>
                    {
                        if (equip.Type == WlyEquipType.带兵量)
                        {
                            if (DMService.Instance.FindColor(dmGuid, "20ef4c-000000", new WxRect(780, 412, 798, 427)))
                            {
                                DMService.Instance.LeftClick(dmGuid, new WxPoint(584, 425), TimeSpan.FromSeconds(1));
                                return(true);
                            }

                            if (DMService.Instance.FindColor(dmGuid, "ff0000-000000", new WxRect(780, 412, 798, 427)))
                            {
                                DMService.Instance.LeftClick(dmGuid, new WxPoint(502, 428));
                                return(true);
                            }
                        }
                        else
                        {
                            if (DMService.Instance.FindColor(dmGuid, "20ef4c-000000", new WxRect(780, 437, 798, 453)))
                            {
                                DMService.Instance.LeftClick(dmGuid, new WxPoint(584, 425), TimeSpan.FromSeconds(1));
                                return(true);
                            }



                            if (DMService.Instance.FindColor(dmGuid, "ff0000-000000", new WxRect(780, 437, 798, 453)))
                            {
                                DMService.Instance.LeftClick(dmGuid, new WxPoint(502, 428));
                                return(true);
                            }
                        }

                        Thread.Sleep(500);

                        return(true);
                    }, TimeSpan.FromSeconds(5));
                }
            }

            return(new WlyTaskInfo(ID, true));
        }
示例#30
0
        /// <summary>
        /// 执行任务
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        protected override WlyTaskInfo InternalRun(WlyEntity entity)
        {
            var dmGuid = entity.DMGuid;

            WlyViewMgr.GoTo(dmGuid, WlyViewType.场景_世界地图);

            // 确认投资冷却时间
            if (DMService.Instance.FindStr(dmGuid, new WxRect(100, 212, 145, 234), "可投资", "20ef4c-000000"))
            {
                WlyMapMgr.OpenCity(dmGuid, m_city);
                var s1 = DMService.Instance.GetWords(dmGuid, new WxRect(470, 352, 565, 370), "e9e7cf-000000");
                var v1 = int.Parse(s1.Split('/')[0]);
                WlyUtilityBiz.SystemInfo.Develop1 = v1;

                var s2 = DMService.Instance.GetWords(dmGuid, new WxRect(470, 374, 565, 939), "e9e7cf-000000");
                var v2 = int.Parse(s2.Split('/')[0]);
                WlyUtilityBiz.SystemInfo.Develop2 = v2;
                WlyUtilityBiz.SystemInfo.Save();

                var wait = FlowLogicHelper.RepeatRun(() =>
                {
                    if (DMService.Instance.FindStr(dmGuid, new WxRect(470, 214, 494, 236), "城", WlyColor.Normal))
                    {
                        return(true);
                    }

                    DMService.Instance.LeftClick(dmGuid, new WxPoint(660, 277));
                    return(false);
                }, TimeSpan.FromSeconds(5));
                if (!wait)
                {
                    throw new InvalidOperationException("无法打开城池进行开发");
                }

                if (v1 > v2)
                {
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(583, 267));
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(536, 301));
                }

                DMService.Instance.LeftClick(dmGuid, new WxPoint(440, 367), TimeSpan.FromSeconds(2));
            }

            if (!DMService.Instance.FindColor(dmGuid, "33ffff-000000", new WxRect(100, 212, 160, 234)))
            {
                return(new WlyTaskInfo(ID, WlyUtilityBiz.GetRefreshTime()));
            }

            var coolTime = WlyUtilityBiz.GetTime(dmGuid, new WxRect(100, 212, 160, 234), "33ffff-000000");

            return(new WlyTaskInfo(ID, DateTime.Now.Add(coolTime)));
        }