/// <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; }
public 任务_武将顿悟(string id, WlyStaffType staff, WlyQualityType quality, params string[] depends) : base(id, depends) { m_staff = staff; m_quality = quality; }
/// <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); }