Beispiel #1
0
        /// <summary>
        /// 获取指定品质颜色的字符串
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public static string GetQualityStr(WlyQualityType type)
        {
            var list = new List <string>();

            foreach (var v in Enum.GetValues(typeof(WlyQualityType)))
            {
                var q = (WlyQualityType)v;
                if ((type & q) != 0)
                {
                    list.Add(_qualityMap[q]);
                }
            }

            return(string.Join("|", list));
        }
 public WlyQualityAttribute(WlyQualityType quality)
 {
     Quality = quality;
 }
Beispiel #3
0
 public 任务_武将顿悟(string id, WlyStaffType staff, WlyQualityType quality, params string[] depends) : base(id, depends)
 {
     m_staff   = staff;
     m_quality = quality;
 }
Beispiel #4
0
        /// <summary>
        /// 顿悟武将到指定的品级
        /// </summary>
        /// <param name="dmGuid"></param>
        /// <param name="staff"></param>
        /// <param name="quality"></param>
        /// <returns></returns>
        public static bool EnvolveStaff(string dmGuid, WlyStaffType staff, WlyQualityType quality)
        {
            SelectStaff(dmGuid, staff, WlyViewType.功能_武将);

            var currentQuality = WlyUtilityBiz.GetQuality(dmGuid, new WxRect(715, 308, 796, 326));

            if (currentQuality >= quality)
            {
                return(true);
            }

            // 点击进入顿悟
            var wait = FlowLogicHelper.RepeatRun(() =>
            {
                DMService.Instance.LeftClick(dmGuid, new WxPoint(764, 275), TimeSpan.FromSeconds(2));
                if (DMService.Instance.FindStr(dmGuid, new WxRect(477, 96, 523, 120), "顿悟", WlyColor.Normal))
                {
                    return(true);
                }

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

            if (!wait)
            {
                throw new InvalidOperationException("无法点开顿悟界面");
            }

            while (DMService.Instance.FindColor(WlyColor.Normal, new WxRect(244, 414, 699, 454), dmGuid, out var x, out var y))
            {
                DMService.Instance.LeftClick(dmGuid, new WxPoint(x, y));
                if (DMService.Instance.FindStr(dmGuid, new WxRect(521, 266, 600, 313), staff.ToString(), WlyColor.StaffColor))
                {
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(456, 329));
                }
                else
                {
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(543, 329));
                    DMService.Instance.LeftClick(dmGuid, new WxPoint(801, 120));
                    return(false);
                }
            }

            DMService.Instance.LeftClick(dmGuid, new WxPoint(769, 415));
            DMService.Instance.LeftClick(dmGuid, new WxPoint(452, 334));

            wait = FlowLogicHelper.RepeatRun(() =>
            {
                var result = DMService.Instance.FindStr(dmGuid, new WxRect(444, 371, 546, 443), "顿悟", WlyColor.Normal);
                if (result)
                {
                    return(true);
                }

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

            if (wait)
            {
                DMService.Instance.LeftClick(dmGuid, new WxPoint(496, 403));
                return(true);
            }

            DMService.Instance.LeftClick(dmGuid, new WxPoint(804, 117));
            return(false);
        }