/// <summary> /// 获取装备信息 /// </summary> /// <param name="dmGuid"></param> /// <returns></returns> public static WlyEquipInfo GetEquipInfo(string dmGuid) { var info = new WlyEquipInfo { Quality = WlyUtilityBiz.GetQuality(dmGuid, new WxRect(710, 290, 801, 312)) }; if (info.Quality > WlyQualityType.Unknow) { info.Type = GetEquipTypeCore(dmGuid, new WxRect(712, 339, 808, 358)); var levelStr = DMService.Instance.GetWords(dmGuid, new WxRect(713, 289, 812, 313), "e9e7cf-000000"); info.Level = int.Parse(levelStr.Substring(0, levelStr.Length - 1)); levelStr = DMService.Instance.GetWords(dmGuid, new WxRect(711, 314, 807, 336), $"{WlyColor.White}|ff0000-000000", 1); info.EquipLevel = int.Parse(levelStr.Substring(2)); } return(info); }
/// <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); }
/// <summary> /// 获取武将的品质 /// </summary> /// <param name="dmGuid"></param> /// <param name="staff"></param> /// <returns></returns> public static WlyQualityType GetStaffQuality(string dmGuid, WlyStaffType staff) { SelectStaff(dmGuid, staff, WlyViewType.功能_武将); return(WlyUtilityBiz.GetQuality(dmGuid, new WxRect(715, 308, 796, 326))); }